You are on page 1of 421

2006 © Elipse Software Ltda. All rights reserved.

2006.08.05- Version 2.5


1. INTRODUCTION ........................................................................................................................................................ 11

1.1. GENERAL DESCRIPTION ........................................................................................................................................ 12


1.2. E3 ARCHITECTURE ............................................................................................................................................... 13
1.3. BLOCK DIAGRAM................................................................................................................................................... 16
1.4. DOMAIN STRUCTURE ............................................................................................................................................ 16
1.5. AVAILABLE PACKS................................................................................................................................................. 17
1.5.1. E3 Studio............................................................................................................................................... 17
1.5.2. E3 Servers ............................................................................................................................................ 17
1.5.3. E3 Back-End Servers............................................................................................................................ 17
1.5.4. Hot-Standby Servers............................................................................................................................. 17
1.5.5. Demonstration....................................................................................................................................... 18

2. E3 STUDIO................................................................................................................................................................. 19

2.1. STARTING A PROJECT ........................................................................................................................................... 20


2.2. W ORK AREA ......................................................................................................................................................... 21
2.3. STUDIO SETTINGS................................................................................................................................................. 22
2.3.1. Studio’s Appearance ............................................................................................................................. 22
2.3.2. Other Settings ....................................................................................................................................... 26
2.3.3. Project Execution Bar............................................................................................................................ 28
2.4. TOOLBARS ............................................................................................................................................................ 29
2.4.1. Check Domain....................................................................................................................................... 34
2.4.2. Find/Replace ......................................................................................................................................... 35
2.4.3. Scripts Documentation .......................................................................................................................... 36
2.4.4. Versions Report .................................................................................................................................... 43
2.4.5. WatchWindow ....................................................................................................................................... 44
2.5. ORGANIZER .......................................................................................................................................................... 45
2.5.1. Close ..................................................................................................................................................... 46
2.5.2. Refresh.................................................................................................................................................. 46
2.5.3. Save as ................................................................................................................................................. 46
2.5.4. Defragment ........................................................................................................................................... 47
2.5.5. Protection .............................................................................................................................................. 47
2.5.6. New Folder............................................................................................................................................ 47
2.5.7. Insert ..................................................................................................................................................... 47
2.5.8. Insert Resource..................................................................................................................................... 48
2.5.9. Enable/Disable project .......................................................................................................................... 48
2.5.10. Check project ........................................................................................................................................ 49
2.5.11. Add/Remove from Domain .................................................................................................................... 49
2.5.12. Find/Replace ......................................................................................................................................... 49
2.5.13. Import/Export......................................................................................................................................... 49
2.5.14. Document scripts .................................................................................................................................. 49
2.5.15. Edit links................................................................................................................................................ 49
2.5.16. Copy/Paste links ................................................................................................................................... 50
2.5.17. Properties.............................................................................................................................................. 50
2.6. IMPORT/EXPORT ................................................................................................................................................... 50
2.6.1. CSV file ................................................................................................................................................. 51
2.6.2. Templates ............................................................................................................................................. 52
2.6.3. Template settings.................................................................................................................................. 56
2.6.4. Importing/Exporting objects................................................................................................................... 66
2.6.5. Importing/Exporting links ....................................................................................................................... 69
2.6.6. Importing/Exporting collections ............................................................................................................. 70
2.6.7. Logs and Failure Report........................................................................................................................ 71
2.7. PROPERTIES LIST ................................................................................................................................................. 71
2.8. GALLERY .............................................................................................................................................................. 72
2.9. APPBROWSER ...................................................................................................................................................... 73
2.9.1. Acessing AppBrowser from a script ...................................................................................................... 74
2.9.2. Acessing AppBrowser from a link.......................................................................................................... 75
2.9.3. Acessing AppBrowser from a property.................................................................................................. 75

3. DOMAINS................................................................................................................................................................... 77

3.1. DOMAIN COMPONENTS .......................................................................................................................................... 78


3.2. CREATING DOMAINS ............................................................................................................................................. 79
3.2.1. Application Wizard ................................................................................................................................ 80
3.3. DOMAIN CONFIGURATION...................................................................................................................................... 86
3.3.1. Domain configurations via toolbar......................................................................................................... 86
3.3.2. Domain configurations via E3 Studio menus......................................................................................... 87
3.3.3. Domain configurations via context menu .............................................................................................. 87
3.3.4. Domain configurations via System Tray................................................................................................ 87
3.4. E3 SERVER .......................................................................................................................................................... 91
3.4.1. Creating Logs at E3 .............................................................................................................................. 91
3.4.2. Accessing E3 Server via command line ................................................................................................ 92
3.4.3. Domain’s Security Configurations ......................................................................................................... 92
3.4.4. Viewer Groups ...................................................................................................................................... 93
3.4.5. Domain Events Register Configurations ............................................................................................... 96
3.4.6. Project Configurations in the Domain.................................................................................................. 104
3.4.7. Servers Configurations........................................................................................................................ 105
3.4.8. Licenses.............................................................................................................................................. 108
3.4.9. Monitor ................................................................................................................................................ 109
3.4.10. Advanced ............................................................................................................................................ 110
3.5. CONNECT TO ... .................................................................................................................................................. 111

4. DRIVERS ................................................................................................................................................................. 113

4.1. I/O DRIVER ......................................................................................................................................................... 113


4.1.1. I/O Driver’s Settings ............................................................................................................................ 115
4.1.2. I/O Driver’s Working ............................................................................................................................ 116
4.1.3. I/O Folder ............................................................................................................................................ 120
4.1.4. I/O Tag ................................................................................................................................................ 121
4.1.5. I/O Block ............................................................................................................................................. 122
4.1.6. I/O Element ......................................................................................................................................... 124
4.2. OPC SERVER ..................................................................................................................................................... 125
4.3. OPC CLIENT DRIVER .......................................................................................................................................... 127
4.3.1. OPC Driver’s Settings ......................................................................................................................... 129
4.3.2. OPC Tag Group .................................................................................................................................. 135
4.3.3. OPC Folder ......................................................................................................................................... 136
4.3.4. OPC Tag ............................................................................................................................................. 137
4.3.5. OPC Block .......................................................................................................................................... 138
4.3.6. OPC Block Element ............................................................................................................................ 139
4.4. QUALITY ............................................................................................................................................................. 141
4.4.1. Substatus Field ................................................................................................................................... 142
4.4.2. Limit Field............................................................................................................................................ 144

5. DATA SERVER........................................................................................................................................................ 145

5.1. DATA FOLDER..................................................................................................................................................... 146


5.2. DEMO TAG......................................................................................................................................................... 146
5.3. INTERNAL TAG .................................................................................................................................................... 147
5.4. OTHER DATA TYPES ........................................................................................................................................... 148
5.5. RULES FOR TAG NAMES ...................................................................................................................................... 148

6. SCREENS AND FRAMES ....................................................................................................................................... 151

6.1. SCREENS ........................................................................................................................................................... 151


6.1.1. Screen Components ........................................................................................................................... 152
6.2. FRAMES ............................................................................................................................................................. 156

7. SCREEN OBJECTS................................................................................................................................................. 159

7.1. LINE ................................................................................................................................................................... 159


7.2. RECTANGLE........................................................................................................................................................ 160
7.3. ROUND RECTANGLE ........................................................................................................................................... 160
7.4. ELLIPSE .............................................................................................................................................................. 161
7.5. ARC ................................................................................................................................................................... 162
7.6. FREEHAND ......................................................................................................................................................... 162
7.7. POLYGON ........................................................................................................................................................... 163
7.8. CURVED POLYGON ............................................................................................................................................. 164
7.9. PICTURE ............................................................................................................................................................. 164
7.10. TEXT ........................................................................................................................................................... 166
7.11. DISPLAY ...................................................................................................................................................... 167
7.12. SETPOINT ................................................................................................................................................... 167
7.13. SCALE ......................................................................................................................................................... 168
7.14. GENERAL CONFIGURATIONS......................................................................................................................... 168
7.14.1. Lock .................................................................................................................................................... 168
7.14.2. Anchor Point........................................................................................................................................ 169
7.14.3. Set Default Style ................................................................................................................................. 169
7.14.4. Apply Style .......................................................................................................................................... 169
7.14.5. Cut, Copy, and Paste .......................................................................................................................... 169
7.14.6. Delete.................................................................................................................................................. 170
7.14.7. Properties............................................................................................................................................ 170
7.14.8. Sliding ................................................................................................................................................. 171
7.14.9. Overlaying Objects.............................................................................................................................. 172
7.14.10. Browse order among objects............................................................................................................... 172
7.14.11. Selecting objects on Screen................................................................................................................ 173
7.14.12. Grouping objects and editing grouped objects .................................................................................... 173
7.14.13. Using Directional Keys ........................................................................................................................ 174
7.14.14. Modifying Object Layers...................................................................................................................... 174
7.14.15. Shadow ............................................................................................................................................... 174
7.14.16. Filling................................................................................................................................................... 176
7.14.17. Gradient and Gradient Styles .............................................................................................................. 177
7.14.18. Background Style ................................................................................................................................ 180
7.14.19. Borders................................................................................................................................................ 180
7.14.20. Horizontal and Vertical Partial Filling................................................................................................... 181
7.14.21. Color Formatting ................................................................................................................................. 181
7.15. VALUE FORMATTING .................................................................................................................................... 183
7.15.1. Pre-defined Formatting........................................................................................................................ 183
7.15.2. Other Formatting ................................................................................................................................. 188
7.15.3. Text Input ............................................................................................................................................ 188
7.15.4. Numerical Formatters.......................................................................................................................... 189
7.15.5. Scientific Formatter ............................................................................................................................. 190
7.15.6. Text Formatter..................................................................................................................................... 190
7.15.7. Formatters for Non-Decimal Bases ..................................................................................................... 190
7.15.8. Date/Hour Formats.............................................................................................................................. 191

8. ACTIVE X ................................................................................................................................................................. 193

8.1. REGISTERING ACTIVEX AT E3 ............................................................................................................................. 193


8.2. INSERTING ACTIVEX OBJECTS INTO E3................................................................................................................ 195
8.3. MICROSOFT FORMS ............................................................................................................................................ 197
8.3.1. Check Box........................................................................................................................................... 197
8.3.2. Option Button ...................................................................................................................................... 197
8.3.3. Combo Box ......................................................................................................................................... 198
8.3.4. Command Button ................................................................................................................................ 198
8.3.5. Label ................................................................................................................................................... 199
8.3.6. List Box ............................................................................................................................................... 199
8.3.7. Scrollbar .............................................................................................................................................. 200
8.3.8. Spin Button.......................................................................................................................................... 200
8.3.9. Text Box .............................................................................................................................................. 201
8.3.10. Toggle Button...................................................................................................................................... 202

9. LINKS....................................................................................................................................................................... 203

9.1. SIMPLE CONNECTION .......................................................................................................................................... 204


9.2. BI-DIRECTIONAL CONNECTION............................................................................................................................. 204
9.3. DIGITAL CONNECTION ......................................................................................................................................... 205
9.4. ANALOG CONNECTION ........................................................................................................................................ 206
9.5. TABLE CONNECTION ........................................................................................................................................... 207
9.6. REVERSE CONNECTION ...................................................................................................................................... 209
9.7. LINKS EDITION .................................................................................................................................................... 209

10. VIEWER ................................................................................................................................................................... 215

10.1. VIEWER CONFIGURATION ............................................................................................................................. 216


10.1.1. Viewer’s Configurations....................................................................................................................... 216
10.1.2. Communication Errors......................................................................................................................... 217
10.2. VARIABLES AT VIEWER................................................................................................................................. 218
10.3. OBJECT TOP................................................................................................................................................ 219

11. DATABASE.............................................................................................................................................................. 221

11.1. ACCESS DATABASE ..................................................................................................................................... 222


11.2. ORACLE DATABASE ..................................................................................................................................... 223
11.2.1. Accessing Oracle Database inside E3 ................................................................................................ 223
11.2.2. Accessing Oracle Database via Scripts .............................................................................................. 224
11.2.3. Technologies used by E3 to access Oracle Database........................................................................ 225
11.2.4. Accessing Oracle via DB Server ......................................................................................................... 226
11.3. SQL SERVER DATABASE ............................................................................................................................. 228
11.3.1. Accessing SQL Server Database inside E3 ........................................................................................ 228
11.3.2. Using SQL Server 2000 ...................................................................................................................... 229
11.3.3. Using ADODB for access via Script .................................................................................................... 230
11.4. E3 OBJECTS AND PERMISSIONS ................................................................................................................... 230

12. ALARMS .................................................................................................................................................................. 233

12.1. ALARM CONFIGURATION .............................................................................................................................. 233


12.1.1. Alarm Areas ........................................................................................................................................ 234
12.1.2. Alarm Sources .................................................................................................................................... 235
12.2. ALARM SERVER ........................................................................................................................................... 242
12.2.1. Configurations for Alarm Table generation.......................................................................................... 242
12.2.2. User Fields Settings ............................................................................................................................ 249

13. E3ALARM ................................................................................................................................................................ 251

13.1. E3ALARM SETTINGS .................................................................................................................................... 252


13.1.1. General Settings ................................................................................................................................. 252
13.1.2. Columns Settings................................................................................................................................ 254
13.1.3. Field Sorting ........................................................................................................................................ 256
13.1.4. Color Settings ..................................................................................................................................... 257
13.1.5. Font Settings....................................................................................................................................... 259
13.2. BEHAVIOR IN RUNTIME................................................................................................................................. 260
13.2.1. Viewing Alarms ................................................................................................................................... 260
13.2.2. Alarm Acknowledgement .................................................................................................................... 260
13.2.3. Column Sorting ................................................................................................................................... 262

14. HISTORIC ................................................................................................................................................................ 263

14.1. HISTORIC SETTINGS .................................................................................................................................... 264


14.1.1. Primary Key ........................................................................................................................................ 265
14.1.2. Indexes ............................................................................................................................................... 267
14.1.3. Table Settings ..................................................................................................................................... 269

15. E3STORAGE ........................................................................................................................................................... 277

15.1. E3STORAGE’S CONFIGURATION ................................................................................................................... 279


15.2. TABLE CONFIGURATION ............................................................................................................................... 280
15.2.1. Execution ............................................................................................................................................ 283
15.2.2. Internal query tools (E3Query) ............................................................................................................ 284
15.2.3. Use...................................................................................................................................................... 286
15.2.4. External Query Tools (Stored Procedures) ......................................................................................... 287

16. E3QUERY ................................................................................................................................................................ 293

16.1. CREATING A QUERY..................................................................................................................................... 295


16.2. GENERAL FUNCTIONS .................................................................................................................................. 296
16.3. TABLES ....................................................................................................................................................... 297
16.4. COLUMNS .................................................................................................................................................... 298
16.5. SQL SYNTAX ............................................................................................................................................... 300
16.6. QUERY RESULT ........................................................................................................................................... 300
16.7. USE OF QUERY FILTERS VIA SCRIPTS............................................................................................................ 301
16.8. USE OF RECORD SETS OF A QUERY THROUGH SCRIPTS................................................................................ 301

17. E3BROWSER .......................................................................................................................................................... 303

17.1. E3BROWSER QUERY OBJECT ...................................................................................................................... 303


17.2. OTHER E3BROWSER SETTINGS ................................................................................................................... 305
17.2.1. Style Settings ...................................................................................................................................... 305
17.2.2. Data Update Settings.......................................................................................................................... 306
17.2.3. E3Browser color settings .................................................................................................................... 307
17.2.4. E3Browser font settings ...................................................................................................................... 308

18. E3CHART ................................................................................................................................................................ 309

18.1. E3CHART SETTINGS .................................................................................................................................... 310


18.1.1. E3Chart General Settings ................................................................................................................... 310
18.1.2. E3Chart Axes Settings ........................................................................................................................ 312
18.1.3. Pens Settings ...................................................................................................................................... 316
18.1.4. Legend Settings .................................................................................................................................. 323
18.1.5. Queries Settings.................................................................................................................................. 325
18.1.6. Font Settings ....................................................................................................................................... 327
18.2. USING E3CHART ......................................................................................................................................... 327
18.2.1. Enabling and Disabling Pens at E3Chart ............................................................................................ 327
18.2.2. Updating Historic E3Chart with data from the last hour....................................................................... 328
18.2.3. Enabling/Disabling pen visualization at E3Chart ................................................................................. 330
18.2.4. Creating a pen via scripts.................................................................................................................... 330
18.3. BEHAVIOR IN RUNTIME ................................................................................................................................. 332

19. FORMULAS ............................................................................................................................................................. 335

19.1. FORMULA SETTINGS .................................................................................................................................... 336


19.2. TEMPLATES ................................................................................................................................................. 337
19.3. UNITS .......................................................................................................................................................... 339
19.4. VALUE SETS ................................................................................................................................................ 340
19.5. CREATING A FORMULA (EXAMPLE) ............................................................................................................... 341

20. LIBRARIES .............................................................................................................................................................. 349

20.1. SYMBOL LIBRARIES...................................................................................................................................... 349


20.2. USER LIBRARY – ELIPSE X ........................................................................................................................... 351
20.2.1. XControls ............................................................................................................................................ 352
20.2.2. XObject ............................................................................................................................................... 354
20.3. W HEN CREATING AN ELIPSEX ...................................................................................................................... 356

21. REPORTS ................................................................................................................................................................ 359

21.1. QUERY OBJECT ........................................................................................................................................... 359


21.2. REPORT COMPONENTS ................................................................................................................................ 359
21.3. REPORT SETTINGS ...................................................................................................................................... 361
21.3.1. Preview ............................................................................................................................................... 364
21.3.2. Report Settings ................................................................................................................................... 365
21.3.3. Script Editor......................................................................................................................................... 369
21.3.4. Load RPX File ..................................................................................................................................... 369
21.3.5. Save as RPX File ................................................................................................................................ 369
21.4. REPORT OBJECTS ....................................................................................................................................... 370
21.4.1. Line ..................................................................................................................................................... 370
21.4.2. Rectangle ............................................................................................................................................ 370
21.4.3. Round Rectangle ................................................................................................................................ 370
21.4.4. Ellipse.................................................................................................................................................. 371
21.4.5. Text ..................................................................................................................................................... 371
21.4.6. Picture ................................................................................................................................................. 371
21.4.7. SetPoint............................................................................................................................................... 372
21.4.8. Checkbox ............................................................................................................................................ 372
21.4.9. Bar Code ............................................................................................................................................. 373
21.4.10. E3Chart ............................................................................................................................................... 373
21.4.11. Page Break ......................................................................................................................................... 374
21.4.12. Frame.................................................................................................................................................. 374
21.5. CREATING A REPORT IN THE E3 ................................................................................................................... 374
21.6. EXAMPLES OF USE IN THE REPORTS............................................................................................................. 376

22. USERS AND PERMISSIONS................................................................................................................................... 379

22.1. USERS ........................................................................................................................................................ 381


22.2. GROUPS ...................................................................................................................................................... 384
22.3. PERMISSIONS .............................................................................................................................................. 389
22.4. FILE PROTECTION ........................................................................................................................................ 399

23. E3 VIEWER & E3 WEBVIEWER.............................................................................................................................. 403

23.1. VIEWER ONLY (READ-ONLY MODE) .............................................................................................................. 404


23.1.1. Changing Viewer mode ....................................................................................................................... 404
23.2. RUNNING E3 VIEWER................................................................................................................................... 405
23.2.1. Via Studio............................................................................................................................................ 405
23.2.2. Via command line................................................................................................................................ 406
23.2.3. Via Start Menu .................................................................................................................................... 407
23.3. VIEWER LOGS.............................................................................................................................................. 407
23.4. RUNNING E3 W EBVIEWER ........................................................................................................................... 408
23.4.1. E3 applications on the Internet............................................................................................................ 409
23.4.2. E3 applications on the intranet or local machine................................................................................. 411

24. HOT-STANDBY ....................................................................................................................................................... 413

24.1. RUNNING A DISTRIBUTED DOMAIN................................................................................................................ 413


24.2. STOPPING A DISTRIBUTED DOMAIN .............................................................................................................. 414
24.3. STOPPING ONE OF THE DOMAIN SERVERS.................................................................................................... 414
24.4. SWITCHOVER TIME BETWEEN SERVERS........................................................................................................ 414
24.5. VIEWERS RECONNECTION............................................................................................................................ 414
24.6. USING DATABASE WITH HOT-STANDBY ........................................................................................................ 415
24.7. CONFIGURING HOT-STANDBY ...................................................................................................................... 415

25. ADVANCED SETTINGS .......................................................................................................................................... 419

25.1. E3RUN’S PROGRESS W INDOW .................................................................................................................... 419


25.2. REC PACKS COMPRESSION......................................................................................................................... 419
25.3. PORT USED BY REC.................................................................................................................................... 420
25.4. MULTIPLE CPUS.......................................................................................................................................... 420

26. E3 VS. ELIPSE SCADA........................................................................................................................................... 421


These are the conventions used in this manual:

EXAMPLE DESCRIPTION
Filenames and other operational system terms are indicated by
the font , upper case.
Field names and options to be searched on screen, menus, or
object’s tabs are indicated by the font .
“Excitment” Characters between quotation marks must be typed in the
designated place, with no marks.
Screen1.Show() Parts of programs (scripts) are indicated by the font Courier.
They must be typed where indicated and then compiled for error
checking.
Tank01.High Bold characters indicate either E3 object’s names or their
properties.
Expressions between the symbols < > must be replaced by the
name of the object being mentioned.
Expressions between brackets indicate key’s name, when typed
with a + sign, they should be pressed simultaneously.
Elipse Software team is proud to present you E3, their most recent and modern tool
for process supervision and control. Totally focused on network operation and
distributed applications, E3 is a SCADA (Supervisory Control and Data
Acquisition) system that offers an advanced model of objects, a powerful graphic
interface besides from a new and unique architecture allowing fast application
development and ultimate connectivity to features and other applications. Its concept
incorporates state-of-the-art technologies in software development, increasing
performance, productivity and quality of its applications as well as the process itself,
reducing costs and losses.
Systems built with E3 usually start from real-time data collection from data and/or
control acquisition equipment, such as PLCs (Programmable Logic Controllers),
RTUs (Remote Terminal Units), DAQs (Data Acquisitions), Multi-Loop or Single-
Loop controllers, fire centers and balances, among other devices. These equipment
usually have some interface allowing its connection to the software, such as serial
standards RS232, RS422 or RS485; radio or modem (private or dial-up lines),
TCP/IP or UDP/IP, boards directly linked to the computer buss and others. E3 reads
and writes data from the equipment through the modules (communication drivers),
which implement the protocol available in each one of them that can be public or
private. These drivers can further be in an Elipse Software format or in the OPC
format (OLE for Process Control).
Once in possession of the data, you can create many ways to display, analyze,
control, command, record or disclose information, among them:
a) Screens: allow creating a MMI (Man-Machine Interface) locally, through local
network or Internet, aiming at exhibiting current or past data status in many ways,
with the help of a graphic editor and specific objects;
b) Alarms and Events: monitor the occurrence of specific situations;
c) History: stores data in relational databases;
d) Reports: allow viewing and printing data, among other modules and possibilities.

Introduction 11
E3 – User’s Manual

E3 was initially developed for Microsoft Windows® 2000 and XP platforms, using
some features available only in these operating systems. Graphic interface with the
user can also run in Windows® 9X/NT/2000/Me/XP systems or even through
Internet or intranet via Internet Explorer®.
Software basic functions are divided into independent modules, able to process
specific activities. The information traffic management among all modules is
coordinated by a main module (E3 Server), using the technology of distributed
objects, allowing components to run either in the same machine or in other
computers.
In short, E3 consists of a Kernel responsible for binding and coordinating the work
of many other modules, which are also information servers. From this point the
graphic interfaces with the user are generated, which are available through either
local or Internet customers.
E3 has three main programs, which are:

E3 Server
It is the Application Server, where main processes run, including real-time
communication with control equipment. The server is also responsible to send data
and screens to connected clients anywhere in the network (Intranet and Internet).
Server can run many projects at the same time and exchange data with other E3
Servers in order to accomplish a fail-over (standby) or distributing processing loads
among the machines. It is developed to run on Windows 2000 and XP operative
systems.

E3 Studio
Unique setting tool, acting as a universal development platform with a modern and
friendly environment, including a full graphic and script (VBScript) editor. This
allows a project to be edited by many people at the same time, or many Studios to be
connected to the same remote server with multiple configurations.

E3 Viewer
Viewer allows operating applications residing in the server in any computer with the
Viewer executable program (Windows 98/NT/Me/2000/XP) or with an Internet
browser. In both cases it is not necessary to install the application in the client’s
machine, for all components (screens, libraries, ActiveX controls) will be
automatically downloaded and registered.

12 Introduction
E3 – User’s Manual

! "
In order to supervise a specific process with a SCADA system, usually we build up
an application containing the definition of the variables involved, with names and
paths, screens, definitions of alarms and others, the so called “Application
Database”. When this process requires the use of two or more computers, we need to
make that each application on each computer exchange data with the others. Up to
now, traditional SCADA systems were based in a common structure to accomplish
this task:
• Each SCADA server should have a copy (partial or not) of the application
configured in the local database;
• Each SCADA server has and runs only one database at the same time.
This lead us to some management problems, such as applying changes to all servers,
controlling application versions or working with different software manufacturers.
E3 solves this problem using the concept of Domain, which includes in one single
environment the definition of the computers running real-time tasks (servers) and the
project databases that should be ran in these servers, with the possibility of running
many projects in each server. You can also input, delete or modify projects during
the execution, without affecting other parts of the running Domain.
Each project can contain any type of object, such as screens, I/O drivers, Alarms and
History, Reports, Formulas, Databases, among others. When two or more projects
are within the same Domain, they can access the properties and objects among
themselves as they reside in one single database. This is possible through the use of
the associations (connections or links) an object can make with any other – if both
objects exist and are running, the connection is active and any change of value is
asynchronously sent among the parties (depending on the connection type). If one of
the objects is destroyed or stopped, connection is broken – then the application
“knows” it and can indicate the status in a user-defined manner. Domain structure is
restricted to servers and similar, such as server machines, projects, users and
passwords. Client interface for operation and viewing, called E3 Viewer can be
directly connected to any E3 Server (with enough Viewer licenses). E3 Viewer has
three special highlights:
• Application projects reside in the server only;
• A program that can be run (viewer.exe, for any Windows), Internet
Explorer1 can be used as an operation interface with no (absolutely no)
change.

1
Precautions must be taken towards security policies regarding sending commands on Internet, in order
to prevent potential risks of exposing the system. Some characteristics must be configured in the
application in order to avoid such risks, but it also depends on the rules of the company where such
systems are installed.
Introduction 13
E3 – User’s Manual

• Client interface is able to alternate from a switched off or failing server to


the next server available, with no interruption of the monitoring process.
One alternative to the use of E3 Viewer on the client machine is the use of Terminal
Service technology. This is a service that originated with Windows NT 4.0., and its
function is to allow remote access among computers via a protocol called RDP
(Remote Desktop Protocol). This protocol allows interaction between a client station
and a server machine (being accessed remotely). Then E3 Viewer is executed in a
new user session created on the server machine; on its turn, the server machine
transfers video data to the client machine, and receives back mouse and keyboard
events.
# #$

% &

14 Introduction
E3 – User’s Manual

% &
' (

See that in both cases E3 Viewer works as the operational and visualization
interface. The only difference lies in the place of execution, which could be either
the client machine (E3 Viewer’s regular operation) or the server machine, with the
user operating it physically next to the machine or through Terminal Services. Since
E3 Viewer is being executed directly at the client machine, there is a higher initial
traffic for screens and objects download, which decreases substantially as the
changes in data are reported from the server to the Viewer, what brings advantages
in terms of performance and graphic presentation quality.
Terminal Service, on the other hand, reaches farther and demands less client
machine’s processing capacity when there are few graphic and visual effects, apart
from the possibility of operating E3 in other software platforms not supported by E3
Viewer, such as Windows CE and Linux/Unix. However, RDP’s drawbacks are that
it shows only show 256 colors, and it increases considerably the traffic when there
are too many animations or blinking effects on screen. To check the best way to
implement multiple accesses to an E3 Server, it is important to study each case
individually, to define the best alternative for your application. Remember that to
use RDP with multiple users it is necessary to have a Windows 2000 or 2003
licensed, besides the same number of Viewers available at the Server.

Introduction 15
E3 – User’s Manual

" ) * + (
E3 internal architecture is completely scalable, with each main task run by a separate
service. Below we have an overview of the main blocks.

Picture 1: Blocks Diagram

In details, E3 Server is responsible for creating an execution process (E3 Runtime)


that will effectively execute the application. Within Runtime we will find each
specific server showing the services to be used by other modules.

, (
Each cell is made of either one E3 Server operating isolated or two E3 Servers in
dual standby. Actually, each Viewer connects to a domain rather than to a server.
After connection, server and client exchange information and check for the existence
of system objects registered and updated in the client-machine. If such objects are
not found, the server uploads objects’s definitions like user libraries, according to
the need for opening each Screen.
From the client’s standpoint, download starts in the first Screen (graphic interface),
including any internal objects to be saved in a cache directory. This process can take
some seconds, depending on the application, but it brings more benefits next time
the user enters the same Screen, for the Viewer performs disk and memory cache. If
the program Viewer is not closed, from the second time a Screen is opened (and not
16 Introduction
E3 – User’s Manual

configured) on it will have already been created in memory, thus reducing


pagination time. If the Screen is modified, the Viewer must download it again and
restart the process.
After a Screen is open, server and client exchange only real-time data and queries to
the database in a TCP/IP message system, with high performance when compared to
“Terminal Services”, depending on the application. This is possible because while
E3 Viewer receives and sends only real-time values and data, a “Terminal Services”
client sends keyboard messages and mouse movement and receives images,
generating higher information traffic. A Viewer connected to an isolated domain can
obtain resident information only within the active server, according to user access
permissions.

- . / *
The packs available for E3 are:

- "
Configuration Pack, with unlimited number of communication points. It allows the
execution of the domain for 6 hours, and has a visualization license (E3 Viewer) for
test purposes in the projects being developed.

-! "
E3 Servers can be purchased in versions such as 100, 300, 1500, 5000, and
unlimited I/O* points, E3 Viewer license included. Besides, E3 Studio licenses
(Master versions) and additional E3 Viewer licenses can be added, what allows more
users to operate the system simultaneously. E3 Viewer’s license control is placed at
E3 Server, so it is not necessary to use a hardkey for machines running E3 Viewer,
just for the one running E3 Server.

-" ") *#
E3 Servers can also be purchased as data back-end (no Viewer license) also in
versions such as 100, 300, 1500, 5000, and unlimited I/O* points, acting as data
source for other E3 Servers which, by their turn, route information to the Viewers,
regardless of where they are connected. They can also be offered with included E3
Studio licenses (Master licenses).

-, 0 # .1
Both regular and back-end E3 Servers have specific license for their use with
redundant architecture or Hot-Standby. These licenses have a specific control and
Introduction 17
E3 – User’s Manual

work as the main configuration’s “mirrors”, including the number of I/O* points, E3
Viewer licenses, drivers, and add-ons.

-- (
E3 can be executed in demonstration mode, with no license. This is very useful to
evaluate the software. In this case, E3 Studio is limited to no more than 20 tags
saved in one driver folder, and to only the first picture in each category of the
symbols library. As for E3 Server, there is a driver license available, and the domain
can run for up to two hours. Besides, Hot-Standby configuration and execution as
service are disabled.
* E3’s internal points and other object’s structures are not a part of I/O points count.

18 Introduction
! ! "

E3 Studio is E3’s development environment. With E3 Studio, you can create and
maintain domains, projects, and libraries.

Picture 2: Path indicated by the system when E3 is installed

To start an application at E3 Studio, follow these procedures:


During installation, a program group is created at Windows Start menu.
To start E3 Studio, just choose the correspondent icon in this menu, as
shown in the picture above; or then access E3’s icon, which is created at
the work area, like the example below.

Picture 3: E3’s icon

The hardkey must be connected to its parallel port, in the event of a


local edition; alternatively, the machine should be in the same local
network as another one with both E3 Server and the hardkey already
installed.

E3 Studio 19
E3 – User’s Manual

! + / 2
When E3 Studio starts, the system opens a dialog box with three options for the
project, as seen in the picture below:

Picture 4: Dialog box shown when E3 starts

The available options are:

Available options for Start E3 Studio menu


OPTION DESCRIPTION
! No project will be opened.
"# $% New project’s name and path are both required.
# &' (# $% When clicking “Other Files…”, you can find a
project in a specific folder, or choose it from the list
of last edited applications.

20 E3 Studio
E3 – User’s Manual

!! 3 *
E3 Studio comes with a series of configured Menus and Toolbars, which are shown
when you execute E3 Studio for the first time. When using a more modern graphical
interface (similar to programs like Office 2000), the user can modify both Menus
and Toolbars. When there is no open application, the screen displays less enabled
options on the Menu Bar and the Toolbar, but its layout remains the same.
The picture below shows E3 Studio’s appearance after the creation of a new project:

Picture 5: Work Area

Title Bar shows the application’s path and name, or the name of the object whose
view is being shown in work area.
Status Bar shows help information about the screen area under mouse cursor.
Toolbar shows objects, components, and other resources that can be used on Screen
and at E3.
Work Area is where views are displayed.

E3 Studio 21
E3 – User’s Manual

!" +
E3 allows you to personalize some Studio resources, such as Toolbars, keyboard,
menus, mouse, etc.

!"
To customize Studio’s appearance, it is necessary to access the menu View—
Customize. The available options are:
!' )* Defines the icons for each toolbar. Just click the icon in
Commands field and drag it to the preferred Toolbar.

Picture 6: Tab Customize—Commands

The available options are:

Available options for Commands tab


OPTION DESCRIPTION
( ' Shows menu and toolbar options available in the
system.
!' Shows the items in the selected menu or toolbar.
+ '
%# Shows the description of the selected option.

22 E3 Studio
E3 – User’s Manual

) ' ): Enables bar viewing, and edition or creation of new toolbars, as well
as their settings.

Picture 7: Tab Customize—Toolbars

The available options are:

Available options for Toolbars tab


OPTION DESCRIPTION
)' Lists the toolbar available in the system.
, ' ) Resets a toolbar at E3.
, ' ) Resets all toolbars at E3.
- " ) Creates a new toolbar.
( ) Changes toolbar name. Used only for toolbars created
with [- ".].button
+ ) Deletes the selected toolbar
" ( !' Shows legends in the options of the selected toolbar.

' ): Configures E3’s menus.

E3 Studio 23
E3 – User’s Manual

Picture 8: Tab Customize—Menus

The available options are:

Available options for Menus tab


OPTION DESCRIPTION
" ' Displays the application’s pre-defined menu. This
option has no effect on E3, and it is maintained in
the system for compatibility reasons.
, ' ) Resets the menu defined in the previous option.
This option has no effect on E3, and it is
maintained in the system for compatibility
reasons.
Selects the type of animation used by the menus:
None (default), Unfold, Slide, and Fade.
!!! ' Defines whether the menu will present a shaded
effect.

/## % ): Alters the appearance of windows and toolbars at E3 Studio.

24 E3 Studio
E3 – User’s Manual

Picture 9: Tab Customize—Appearance

The available options are:

Available options for Appearance tab


OPTION DESCRIPTION
%0 Configures E3 Studio’s appearance as Office XP.
1 !"'0 Configures E3 Studio’s appearance as Windows XP
(not available in Windows Classic style).
% 2333 Configures E3 Studio’s appearance as Office 2000.
% 233 Configures E3 Studio’s appearance as Office 2003.
4 - 2335 Configures E3 Studio’s appearance as VS.Net 2005.

E3 Studio 25
E3 – User’s Manual

# ' ): Configures project’s general specifications. Enables or disables


options in toolbars.

Picture 10: Tab Customize—Options

The available options are:

Available options for Options tab


OPTION DESCRIPTION
"! '%# ' Enables E3 to show a brief description on toolbar and
menu options whenever mouse cursor is over the
item.
%! ' % 67' Shows/hides shortcut keys in the button’s description.
( % ' Enables large icons on toolbars.

!"! $ +
You can configure E3’s Scripts Editor, as well as other options of domain files, via
menu Tools—Options, where you will be able to access the configurations window
below:

26 E3 Studio
E3 – User’s Manual

! : Configures E3’s Scripts Editor:

Picture 11: Scripts Editor Settings

The available options are:

Available options for Editor tab


OPTION DESCRIPTION
#') !' Enables collapsible nodes (outlining).
( '8 Outlining margin size.
) ( Shows line numbers in Scripts Editor.
( '8 Line numbers margin size.
)'8 Determines tab size.
9 Determines font type to be used in Scripts Editor.
8 Determines font size to be used in Scripts Editor.

Note: Close all Scripts Editors so that these changes can be applied.

E3 Studio 27
E3 – User’s Manual

: Enables/disables the option Ignore CRC check.


9 '

Picture 12: Files settings

Every time a project or library is created at E3, the system records internally a CRC
(Cyclic Redundancy Check) for this file data. Each time a file is opened, CRC is
checked. In case checking fails (that is, CRC does not check the data), file load is
aborted, indicating corruption on file data. This may be due to several types of
failure in hardware, such as memory, net, storage device etc.
However, if a project created at the latest version is modified at a version previous to
1.00.019 build 203, CRC is not updated. This means that the file cannot be opened
again in new versions, for CRC checking will fail, even though the file is not really
corrupted. To solve this question, enable the option Ignore CRC check. In this case,
the project can be opened in an E3’s current version.
So, this option should remain enabled until all objects edited at former versions are
saved by the current version, which updates CRC.
NOTE: Elipse does not recommend that .prj files are edited at E3’s older versions,
and then open again in new versions, for there is no guarantee that file settings will
not be lost with this procedure.

!"" / 2 )
Project execution bar, placed on Windows’ System Tray (screen’s bottom right, next
to system clock), is used to determine the actions occurring on the project. You can

28 E3 Studio
E3 – User’s Manual

check if the project is either running or has stopped, in addition to other options
listed below:

Picture 13: Project execution bar

+ : Used for running or closing the domain. To configure this domain’s


options, use “Options” item.
% '' : Enables viewing all available licenses for the system and the current
project. This resource informs about the running program, the computer using it, the
user, running time, etc.
: Shows real time information about the domain servers’ status.
/!: %!: Enables/disables running E3 Server as service.
Further information about domain configurations can be found in the chapter
Domains.

!, ' .
E3’s Toolbar changes according to the existence or not of open applications.
Toolbar buttons allow you to perform certain tasks quickly, with no need for menus.
So, you can create Screen Objects or call the Organizer simply by pressing a button.
The table below shows the available options for E3 Studio:

E3 Studio 29
E3 – User’s Manual

Available options for Default toolbar


ICON COMMAND ACTION
- " Creates a new project.
# # $% Opens an existing project.
: Saves the project.

: Saves the whole domain.


Removes the information selected and
transfers it to the clipboard.
Copies the information selected and
#7
transfers it to the clipboard.
Pastes the information selected from the
'
clipboard.
;! Undoes the last action executed.
Redoes the last action executed by the
, !
item Undo.
( 8 Shows/hides the Organizer.
# 7 ' Shows/hides the Properties List.
7 Shows/hides the Gallery.
:' ! ' Saves everything, runs the domain, and
! ' opens the Viewer.
, < #+ Runs/stops current domain.
, < # 4" Runs/stops E3 Viewer.
%
6+ Checks domain for errors.
Shows the previous error found in the
: '
domain.
Shows the next error found in the
- &
domain.
/) Enables system Help.
+ ( ' Defragments the specified file.
Searches for all occurrences of a given
9 !<
, #%
text throughout the domain.
%#' Generates scripts documentation
+ %
4' , # Shows projects and libraries versions.
Shows the values of tags and properties
1 %1 !"
in the Studio, in runtime.

30 E3 Studio
E3 – User’s Manual

Available options for Shadow toolbar


ICON COMMAND ACTION
)$%' !" Applies shadow to the object.

: ' !" # Moves shadow up.


: ' ! "! " Moves shadow down.
: ' !" Moves shadow to the left.
: ' !" ( Moves shadow to the right.
! "% Selects shadow color.

Available options for Objects toolbar


ICON COMMAND ACTION
/ Inserts an E3Alarm.

"' Inserts an E3Browser.


Inserts an E3Chart.

%
6 & Inserts a CheckBox.

# Inserts an OptionButton.

) & Inserts a ComboBox.


! Inserts a CommandButton.
Inserts a Label.
)

' & Inserts a ListBox.


Inserts a ScrollBar.
%

& & Inserts a TextBox.

# Inserts a SpinButton.

Inserts a ToggleButton.
((

E3 Studio 31
E3 – User’s Manual

Available options for Screen toolbar


ICON COMMAND ACTION
% Enables selection mode.

, Enables rotation mode.

) ! Shows browsing order among objects.


Inserts line.
, % ( Inserts rectangle.
, ! % ( Inserts round rectangle.

#' Inserts ellipse.


/% Inserts ellipse arc.
9 ! Inserts freehand drawing tool.

7( Inserts polygon.
:!# 7( Inserts curved polygon.

% Inserts Picture.

& Inserts Text.

+'
#7 Inserts Display.
Inserts SetPoint.
% Inserts Scale.
# Groups an object selection.

;( # Ungroups an object selection.

'! Inserts tool for linear sliding.

, '! Inserts tool for rotation sliding.

( Brings object to the front of the group.

! )%
6 Sends object to the back of the group.
( " ! Brings object forward.
!)%
6" ! Sends object backward.
= Edits the level of zoom on the Screen.

7 ' Edits the objects’ layers on the Screen.

32 E3 Studio
E3 – User’s Manual

Available options for Draw toolbar


ICON COMMAND ACTION
%
6( !% Defines background color.

9 ( !% Defines foreground color.

! % Defines border color.

! '7 Defines border style.

! %
6 '
' Defines border thickness.

9 '7 Defines fill style.

Available options for Alignment toolbar


ICON COMMAND ACTION
/( Aligns objects to the left.

/( ( Aligns objects to the right.

/( # Aligns objects to the top.

/( ) Aligns objects to the bottom.


Applies the same width to all
"!
objects.
Applies the same height to all
(
objects.
Applies the same size to the
'8
selected objects.
8 7 Centers objects horizontally.

: %7 Centers objects vertically.

Formats spacing between objects


#% % '
'
horizontally.
Formats spacing between objects
#% !"
vertically.
! Shows/hides grid.

E3 Studio 33
E3 – User’s Manual

Available options for Formatting toolbar


ICON COMMAND ACTION
9 Determines text font.

9 '8 Determines font size.

9 % Determines font color.

! Inserts bold font.


% Inserts italic font.
;! ! Inserts underlined font.
/( Aligns texts to the left.
/( % Centers text.
/( ( Aligns texts to the right.

!, * (
Checks for errors in the whole domain, such as objects with the same name, illegal
associations, etc. Should any error be found, the system opens the following dialog
box showing all errors found in the domain:

Picture 14: Error-checking in the project.

Until the error is solved, the dialog box remains on the screen, and it is not possible
to execute Viewer. After the problem is solved, the system will show a message box
indicating that there are no errors found in the domain, and Viewer execution is
allowed.

34 E3 Studio
E3 – User’s Manual

Picture 15: Message on Check domain

Check domain option can be accessed the following manners:

• Through the icon Check domain, available on Default Toolbar: checks


for errors in the whole domain;
• Through the menu Tools—Check domain: same procedure as the previous
item;
• By right-clicking on a project item and selecting Check or Check project:
Checks for errors only in the selected object and their child-objects.

! ,! 4 5
The tool Find searches for instances of a given text in the domain, fully or partially.
By the end of the search, the user is given a list of results, indicating where the
occurrence has been found, its location inside the object (whether it is a property, a
link, etc), and the text containing the instance.
The tool Replace replaces the occurrences found with another bit of text specified in
the search.

Picture 16: Find/Replace

There are three ways of using these tools:


• Choose an item in the Organizer, right-click on it, and select the option
Find/Replace. This search is performed from the item, following its hierarchy
(only child-objects will be researched).
• Click on the menu Tools—Find/Replace. This will cause the system to search
in all open projects and libraries.
E3 Studio 35
E3 – User’s Manual

• Click on the icon Find/Replace , on Default Toolbar. The search will be


performed throughout the domain.
The available options are:

Available options for Find tool


OPTION DESCRIPTION
9 !" Contains the text to be found.
9 !) Starts searching for the text.
1 ' ' Finds only in the results of the previous search.
% %' Searches for the text exactly as it has been written,
matching case.
1 " ! Finds whole words only. Does not consider the text as a
substring of another.
, #%" Contains the text to be replaced with.
, #% ) Starts replacing process.
>)7> Replaces the selected line and selects the next valid line.
/ Replaces all instances of text at once.
7' %! Replaces all the instances checked in the results list at
once.
Shows/hides the options for Find and Replace.
)
Selects the previous occurrence in the results list.
)
Selects the next occurrence in the results list.
)

NOTE: To select the object and show the exact spot where the text is, just double-
click the results list, on the selected row.

! ," (
The tool Scripts Documentation helps the user organize and document the
application’s scripts.
You can access this tool in two different ways:
• By clicking the icon (Scripts Documentation), on Default Toolbar. With this
option, all scripts from the domain will be recorded in the file.
• By right-clicking project’s or object’s name, and selecting the option Document
scripts... . With this option, just the object’s and its child-objects’ scripts will be
recorded on file.

36 E3 Studio
E3 – User’s Manual

This tool generates a text-file that can be edited in any text editor. Documentation
file is formatted with a wizard called Script documentation wizard. This wizard
helps the user configure a scripts documentation file.

Picture 17: Script documentation wizard

Documentation file
The information about the file saving the application’s scripts is defined on the
window called Documentation file.
Type the name of the file where scripts documentation will be generated in the field
Filename. Specify the place where this file must be saved in the field Save file in
folder…, and, if necessary, use the button [ "'].

E3 Studio 37
E3 – User’s Manual

Picture 18: Scripts documentation file

Click on the button [- &], and go to the next window.

Filter
On the window Filter, it is possible to select the objects whose scripts will be
documented. Enable the option Only in the selected objects to indicate the objects
whose scripts you want to document, or then enable the option In all E3’s objects,
to document all scripts from all objects in E3.
Folders, projects, and libraries do not appear on the list because they do not have
scripts. The list of objects contains just those objects that can be “child-objects” of
projects or libraries, such as Screens, Drivers, XControls, etc.

38 E3 Studio
E3 – User’s Manual

Picture 19: Objects filter

Click on the button [- &], and go to the next window.

File formatting
The window File formatting allows you to format the file with scripts information.
It is possible to choose between a simplified documentation, where only the scripts
names will be included in the file, and a complete documentation, where the whole
script code will be registered in the documentation file.

E3 Studio 39
E3 – User’s Manual

Picture 20: File formatting

Take, for example, the script below:


Sub InitialScreen_KeyDown(KeyCode, Shift)
If (KeyCode = 27) Then
Application.Exit
End Sub
If you picked the option Only the script name, this is what will be recorded in the
text-file:
InitialScreen_KeyDown(KeyCode, Shift)
If, however, you picked the option The whole script, then the code will be recorded
with the same format (indentation, blank lines, etc) made by the user in the scripts
editor.
Regardless of format you picked, an identifier containing the object’s name is
recorded before the script is made, to avoid conflicts. For example, if we have the
following objects:

InitialScreen
CommandButton1

Screen1
CommandButton1

40 E3 Studio
E3 – User’s Manual

Both scripts (considering the same event—Click) would be


CommandButton1_Click(). So, file record would be:
<InitialScreen.CommandButton1:CommandButton1_Click()>
Sub CommandButton1_Click()
...
End Sub
and
<Screen1.CommandButton1:CommandButton1_Click()>
Sub CommandButton1_Click()
...
End Sub
This allows you to identify each script correctly.
Click on the button [- &], and go to the next window.

Scripts separator
On the window Scripts separator, it is possible to define the text that will be
recorded between scripts in your documentation file. It is possible to choose between
blank or customized lines, and to inform how many of these lines will be inserted in
the file.

Picture 21: Scripts separator

E3 Studio 41
E3 – User’s Manual

You can choose between a Blank line and a Customizable line. If you choose the
option Blank line, a blank line is set between scripts, as a separator. If you choose
the option Customizable line, you can inform one or more characters to compose
the line used as scripts separator. These characters are informed in the field Type
line text. If you choose the option Repeat until the end of the line, the informed
characters are repeated until the line’s size limit, which is 80 characters. You can
also use more than one line as a separator, be it blank or customized. Just inform a
number between 1 and 100 in the field Type number of lines of separator.
Click the button [- &] to finish configuration.
After that, the system shows a message indicating that both the configuration and the
generation of the file containing scripts documentation have ended.

Picture 22: Final window for file generation

Some relevant observations:


• XControls'and XObjects’ scripts are recorded just once in the file,
because they are found when researching the library. Instances’ scripts are
recorded when the instance’s parent object is researched.
• Picks are scripts, internally; therefore, they are also documented.
• File recording is done alphabetically per object’s name, inside each
project or library.

42 E3 Studio
E3 – User’s Manual

• It is not possible to add scripts to an existent file via wizard. Every time
the wizard is called, a new file is created; in case it already exists, it will
be overwritten.
• This tool may take a while to generate the documentation file in case the
application is too large and the research involves many types of objects.
To make the research faster, try generating a file for each type of E3’s
objects.

! ,, %
The tool Versions Report enables viewing versions and comments on open projects
and libraries, whether they belong to the domain or not. To access this tool, just
click the button Versions Report on Default Toolbar, and the following dialog
box will be displayed.

Picture 23: Versions Report

The available options are:

Available options for Versions Report dialog box


OPTION DESCRIPTION
$%<) 7 Name of the project or library open in the domain
4' Indicates the project’s/library’s version. This version is
generated internally by E3, being incremented every time the
project is saved, either manually or automatically. In the event of
protected projects and libraries, if the version cannot be saved, it
will not be possible to be incremented either. However, if the
user has permission to open and alter the project or library, the
version will be incremented normally.
Shows the comment referent to the project. This comment can
be edited via DocString property. In case of libraries, this field is
blank.

NOTE: These fields are strictly for viewing; therefore, edition is not allowed.
E3 Studio 43
E3 – User’s Manual

! ,- 3 3 &
The tool WatchWindow allows you to visualize the current value of any property or
tag in runtime at E3 Studio. To access this tool, just click on the button
WatchWindow on Default Toolbar or access the menu Tools—WatchWindow,
and the dialog box below is displayed:

Picture 24: WatchWindow

The available options are:

Available options for WatchWindow dialog box


OPTION DESCRIPTION
/!! ) Opens the DomainBrowser (an AppBrowser containing the
objects created in the server) and selects the object to be
displayed at the WatchWindow.
, : ) Removes the selected row from the objects list at
WatchWindow.
, ' ) Searches for the whole child-objects tree of the one
currently selected at WatchWindow.
%) Attempts to reactivate the lost connection with the domain
so that visualization is made possible.
- Displays the tag or property being visualized.
? 7 Displays tag’s or property’s quality.
' # Displays tag’s or property’s timestamp.
4 Displays tag’s or property’s value, in runtime.
' Displays whether the domain is connected.

44 E3 Studio
E3 – User’s Manual

!- $ + 6
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
through a hierarchical options tree.

Picture 25: Organizer

In the Organizer it is possible to see all the projects open for edition, whether they
belong to the current domain or not. Its structure is similar to directory tree at
Windows Explorer. So, it begins with a project or a library, and its child-objects
follow this item downwards.
Each object in turn may have child-objects, which may be visualized through their
elements expansion. When you browse through the application structure, several
options will be presented for object edition, either by left-clicking or right-clicking
it.
By left-clicking an object, its properties can be both viewed and edited through
Properties List, if enabled.
By right-clicking the project’s name the options listed below become available.

E3 Studio 45
E3 – User’s Manual

!-
Closes the current project.

! -! 7
Refreshes project’s settings.

! -"
Opens a dialog box to save the project where indicated.
To use this resource, follow these procedures:
Right-click the project’s name on Organizer and select Save as option.
Specify project’s name and click [ :].

Picture 26: Saving the project

46 E3 Studio
E3 – User’s Manual

! -, 7 +(
Defragments files (.lib or .prj), that is, removes spaces created unnecessarily (like
items excluded from the system, for example), thus making the system more
dynamic.
To use this resource, follow these procedures:
Right-click the project’s name on Organizer and select the option
Defragment.
After the file is defragmented, the system shows a message box with the
action’s result, as seen in the picture below:

Picture 27: Defragment

! -- /
Protects the content of a .prj or .lib file against unauthorized edition, visualization, or
execution.
Further information on this option in the chapter Users and Permissions.

! -8 & 4
Creates a new folder in the system. Folders work as logical divisions in a project,
and their use makes viewing easier in larger systems.
To use this resource, follow these procedures:
Right-click the project’s name on Organizer and select New Folder
option. Specify a name for the new folder and then press [ .

! -9
Inserts objects available at E3 in the project.

E3 Studio 47
E3 – User’s Manual

! -:
Inserts several available and registered modules in the project. This is because each
project can contain nothing but functionalities chosen by the user, or the ones
available in the machine, thus avoiding occasional processing overheads. Besides, it
allows new modules to be developed and added dynamically.
To use this resource, follow this procedure:
Right-click the project’s name on Organizer and select Insert Resource
option. E3 opens a dialog box, like the picture below:

Picture 28: Inserting a resource in E3

Select the resource you wish to insert into the project and click on
[ # ] button.

! -; . 5 . 2
Enables or disables the selected project.
To use this resource, follow these procedures:
Right-click the name of the project to be disabled on Organizer and
select the option Disable project.
Project’s name and icon will appear in gray, indicating that project is
disabled.

48 E3 Studio
E3 – User’s Manual

To enable the project again, right-click on it and choose Enable project


option.

!- < * 2
Checks for errors only in the selected object and its child-objects.
Further information on this option in the subsection Check domain.

!- 5 ( 7 ( (
Adds or removes the project from Domain.
To use this resource, follow these procedures:
Right-click the project’s name on Organizer and select Remove from
domain option.
To add the project to the Domain, right-click on project’s name on the
Organizer and select the option Add to Domain.

!- ! 4 5
Finds excerpts of text in the project and replace them with other, if necessary.
Further information on this option in the subsection Find/Replace.

!- " ( 5
Helps the user import and export objects, links and collections.
Further information on this option in the section Import/Export.

!- , (
Helps the user organize and document the scripts in the application.
Further information on this option in the subsection Scripts Documentation.

!- - *
Edits one or more links in the application in a quicker way than through the window.
Further information on this option in the chapter Links.

E3 Studio 49
E3 – User’s Manual

!- 8 15/ *
Copies/Pastes links from one object to another. The second option in only displayed
if what has been copied into Windows’s clipboard is a link. If more than one object
is selected, these options are disabled. If the chosen property already has a link, it is
then displayed a message asking you whether the link should be overwritten.
If the links copied into the clipboard are pasted into an object that does not have on
of these properties, they will be listed to the user in a message informing the
problem. The existing properties will have their links created correctly. ElipseX’s
hidden properties links will not be copied.

!- 9 /
Opens the object’s Properties Window. When this option is called from the menu,
the first tab to be opened is the object’s settings tab.
Further information on this option in the chapters of the respective objects.

!8 ( 5
The import tool in E3 reads information about objects from a CSV file and then
creates them in the configuration environment (E3 Studio). For each object, it is
possible to get information on properties, links, and collection items.
The export tool in E3 records information about objects chosen from the
configuration environment (E3 Studio) into a CSV file. For each object, it is possible
to record its properties, its links and its collection items.
It is possible to:
• Create new E3 objects from a CSV file, as long as these objects are not direct
child-objects of the project or library;
• Import/Export any property from/to any type of E3 object;
• Import/Export any type of links from/to any E3 object;
• Export any type of collection items of E3 objects and import their properties.
Any E3 object can be imported or exported. The object selected for the operation is
called root-object. So, it is possible to import or export a data folder with user-
defined XObjects, for example, or even to export a Screen and list all its child-
objects.
In addition to objects, both links and collections can also be imported and exported.
You have the option of informing whether you would like to import/export links and
collections or not.

50 E3 Studio
E3 – User’s Manual

!8 %7
A CSV (Comma Separated Values) file is a text file based on comma-separated
columns, or on any other type of separator. In E3, these files have the information on
the objects that have been exported, and are used in the import process to create
these objects properly in E3 Studio. Each column in a CSV file stands for one or
more properties of an object, and each row stands for an object, link or collection
item. To ensure these files are used correctly, attention is required to some details:
• The first row in the CSV file must have a header identifying the columns
correctly;
• This header must necessarily have a column identifying the type of object being
imported/exported. This column’s name is )$% 7#, and its value is the
name of the object’s class (XObject1, DrawRect, InternalTag, AgSimple, etc),
except for collections, which display pre-defined keywords (ITableBindRow,
IAxis, etc.);
• The header on the next columns must be the name of the property itself;
• The columns can be placed in any order in the file; there can be more or less
columns, with no damage to the import/export process. The only mandatory
column in the file is )$% 7#, because without this column it is impossible
to identify the type of object to be created.

Generating a CSV file manually


It is possible to generate a CSV file from a notepad, from Excel or any other
Windows’s application. The generated file uses the separator configured in
Windows (as configured by the user, not by the system).
The first row in the file must have a header with the names of the columns you want
to insert in the file. Each file will stand for a property or an identifier defined in the
template, as seen below. Objects must be placed on the following rows, and the
values of properties go on the corresponding columns. Not all object’s properties
have to be listed on the header, nor must all columns be necessarily linked to
properties on a given object.
It is also important that the CSV file have a column for Name property. Without it, it
is not possible to determine where exactly the object must be generated. The names
display the object’s correct hierarchy, and names with special characters must be
bound by brackets [].
Next, an example of a CSV file which can be created manually with Excel:
• Open Excel and set the header with the following fields, one per column,
according to the picture below:

E3 Studio 51
E3 – User’s Manual

Picture 29: CSV file viewed with Excel

• Save the spreadsheet with the extension CSV;


• Close the file in Excel;
• To import this file to E3, select an IODriver and import the generated file
through the option Import, with the appropriate template. E3 will then create
system’s structure according to the CSV file.

! 8! ' (
Templates are INI files used to configure both import and export tools. It will inform
which type of separator is used in the CSV file, whether object’s links should be
exported, etc. INI files use the following format:
• Lines which start with the character ‘;’ are comments, and will not be considered
in the file’s interpretation;
• The file is organized in sections, and each section contains one or more
variables. Sections are identified by names between brackets. Variables are
words before the symbol ‘=’. A section cannot have two variables with the same
name;
• Blank lines are ignored.

An example of an INI file is displayed below:


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

The format is a text that can be easily altered by the user, and it will be possible to
generate a new template by using a regular text editor. The same template can be
used both for importing and exporting objects.
52 E3 Studio
E3 – User’s Manual

The templates used by E3 allow you to redefine values for the columns in the CSV
files, as well as for the types of objects. Besides, they also allow you to group more
than one property in the same column. This is all achieved with the definition of
“identifiers”, which are keywords used in the CSV file and linked to properties or
object classes in the INI file.
In E3, the import/export tool templates are defined with these sections and variables:

Defined sections for Templates


SECTION DESCRIPTION
@ ! ABC Defines the identifiers allowed for column names and datatypes.
In this section, you will define the variables ! and 7#' .
(*) Mandatory section for export.

( Defines additional configuration for import/export tool. In this


section, you will define the variables '# , , 6 ,
% % , )$%! #% !and ) !!#% !.
7#' Relates data type identifiers to real object classes. Each identifier
listed on the variable 7#'that is not equal to an object class
name must be documented in this section, and a variable is
created to each identifier.
' Relates column name identifiers to properties names. Each
identifier listed on the variable ! that is not equal to a
property’s name must be documented in this section, and a
variable is created to each identifier.
9 Defines which object classes must be imported or exported. In
this section, you must define one of these two variables: % !
or & % !. If both are defined, only % ! will be considered.

E3 Studio 53
E3 – User’s Manual

Defined variables for Templates


SECTION DESCRIPTION
! ABC Defines column order and the identifiers to be used. You must
list all columns the CSV file will have, separated by commas.
Each identifier that is not equal to a property’s name must be
listed in the section ', each one with a variable.
(*) Mandatory variable for export.

7#' Defines the identifiers for the datatypes allowed in the CSV
file. The identifiers must be listed in this variable separated by
commas. It is necessary to define this variable only if there is
an identifier that is different from the object’s class name. In
this case, each must have a variable in the section 7#' .
'# Defines the separator to be used for the columns in the CSV
file. In case this variable is not defined, the list separator used
in Windows will be used.
Defines whether the root-object will be imported or exported
alongside with its child-objects. In case this variable is not
defined, the root-object will not be used.
6 Defines whether objects links will be imported or exported. In
case this variable is not defined, the links will not be used.
% % Defines whether object collections will be imported or
exported. In case this variable is not defined, the collections
will not be used.
)$%! #% ! Defines what should be done when a pre-existing object is
being imported. The values for this variable are: 0 – askalways
(always asks you what should be done); 1 – changealways
(always changes the properties on the existing object); 2 –
ignorealways (always ignores the object being imported); and
3 – createalways (always creates a new object, auto-
incrementing its name). In case this variable is not defined, the
value askalways is applied. This option has no value for
export.
) !! #% ! Defines what should be done when a pre-existing link is being
imported. The values for this variable are: 0 – askalways
(always asks you what should be done); 1 – changealways
(always replaces the existing link by a new one); and 2 –
ignorealways (always ignores the link being imported). In case
this variable is not defined, the value askalways is applied.
This option has no value for export, nor does it have the value
createalways; should this value be attributed in this option, it
will be automatically changed to askalways.

54 E3 Studio
E3 – User’s Manual

%! Defines which object classes should be imported or exported.


This filter is not recursive, that is, if the class of an object that
can have child-objects is included, these child-objects will not
be automatically included. This cannot be used alongside the
variable & % !. Only what is defined in this variable can be
imported/exported.
&
%! Defines which object classes should not be imported or
exported. This filter is not recursive, that is, if the class of an
object that can have child-objects is excluded, these child-
objects will not be automatically excluded. This cannot be
used alongside the variable % !. Only what is defined in
this variable cannot be imported/exported.

NOTE: The character ‘;’ cannot be used as (whole or partial) name of the column,
neither can it be used as (whole or partial) name of identifier. This limitation is due
to the fact that ‘;’ defines a comment in the .ini file. Thus, the variable created in
either 'or 7# 'section to define the identifier with a ‘;’ cannot be read
correctly.

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

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

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

[Columns]
N1/B1=N1,B1
N2/B2=N2,B2
N3/B3=N3,B3
E3 Studio 55
E3 – User’s Manual

N4/B4=N4,B4

[Filter]
exclude=IOFolder
Elipse Software supplies some templates for importing/exporting different types of
objects. These templates can also be used as basis for generating others. The
templates are on the folder installpath\Templates.

! 8" ' ( +
The Template Settings is a tool that helps you create an INI file to be used when
importing or exporting E3 objects. To access it, just click the option Import/Export,
and once this option’s window is opened, click [ ( ] button. In case you
have already loaded a template, the initial options in these tabs will reflect the
previous configuration. The available tabs are:
(' ): With this option, you can configure valid options both for import and
export.

56 E3 Studio
E3 – User’s Manual

Picture 30: Settings tab

The available options are:

E3 Studio 57
E3 – User’s Manual

Available options for Settings tab


OPTION DESCRIPTION
''# The available options are: Use list separator configured in
Windows (picks the character configured in Windows as
list separator to be used as CSV file’s column separator)
and Use another character as separator (lets you pick
another character as the column separator).
' (' Defines what is being imported/exported: objects, links or
collections. The available options are: Import/Export
root-object, Import/Export links and Import/Export
collections.
: # When the option Save changes from this template in an
INI file is checked, it is established the INI file where the
changes in the template will be saved, and this file can then
be used again. When the option is unchecked, the changes
made in the template will be temporarily saved in a file in
Windows temporary files folder. This file will be used to
import or export soon after the settings are made, and will
be removed afterwards.

# ( ): With this option, you can configure options valid only for
importing.

58 E3 Studio
E3 – User’s Manual

Picture 31: Importing tab

The available options are:

Available options for Importing tab


OPTION DESCRIPTION
+ #% ! )$% Specifies how the system must handle the occurrence of
# duplicated objects in the import. The available options are:
Ask me what to do in each case, Always overwrite
existing object, Always ignore duplicated object and
Always create a new object.
+ #% ! 6 Specifies how the system must handle the occurrence of
# duplicated links in the import. The available options are:
Ask me what to do in each case, Always overwrite
existing link and Always ignore duplicated link.

9 ' ): With this option, you can pick the classes to be used in import/export, or
which classes you do not want to use.

E3 Studio 59
E3 – User’s Manual

Picture 32: Filters tab

The available options are:

Available options for Filters tab


OPTION DESCRIPTION
+ Establishes that all objects will be imported/exported.
)$%'
%! 7 ' Defines which object classes will be imported/exported.
)$%'
&%! 7 ' Defines which object classes will not be imported/exported.
)$%'
( ) Opens a window for selecting the object classes to be
included/excluded.
Opens a help window for this option.

The button [ ( ] opens the following window for picking classes:

60 E3 Studio
E3 – User’s Manual

Picture 33: Object classes

The classes that initially fill this list are the root-object’s and the child-objects’s,
when you are creating a new template. You can also add other classes, by clicking
the button , or remove some classes, by pushing the button .

! ' ): With this option, you can define the identifiers for the chosen object
classes. The initial status of this list is empty.

E3 Studio 61
E3 – User’s Manual

Picture 34: Identifiers tab

The available options are:

62 E3 Studio
E3 – User’s Manual

Available options for Identifiers tab


OPTION DESCRIPTION
'
' Indicates the name of the class selected in the option.
! Allows you to change the value in use in CSV file’s
)$% 7# column. This column’s initial value is always
the object class’s name. For each value altered here, an
entry is generated in the INI file in 7#' section.
Identifiers are not case sensitive (that is, “AAA”, “aaa” and
“aAa” are the same value). In case you define equal values
for more than one type, just the first type will be considered
during import, and some object may be created with the
wrong type.
Adds object classes.

Removes selected object class.


Displays a window with help text.

# ' ): With this option, you can choose which object properties you want
to use to import/export. This list’s initial value is )$% 7# ; all other properties
must be manually added.

E3 Studio 63
E3 – User’s Manual

Picture 35: Properties tab

The available options are:

64 E3 Studio
E3 – User’s Manual

Available options for Properties tab


OPTION DESCRIPTION
Allows you to change the value to be used as column name in
CSV file’s header. This column’s initial value is always the
name of the property itself. For each value changed in this
column, an entry is generated in the INI file in '
section. Column names are not case sensitive (that is, “AAA”,
“aaa” and “aAa” are the same value); in case you define equal
column names for more than one property, only one of them
will be properly identified, and all columns with the same
name will relate to the same property. In this case, some
properties may be overwritten.
# 7 Indicates the property being imported/exported.
' ! Redefine column order when changing property order on the
list.
Adds properties to the list.
Removes properties from the list, with the exception of
)$% 7#.
Creates a column name linked to more than one property.
Select the properties you want to group and click on this
button. Columns names are grouped in the same row, using as
column name the property at the beginning of the list.
Displays a window with help text.

By pressing the button , the following window is opened for property selection:

E3 Studio 65
E3 – User’s Manual

Picture 36: Properties

The available options are:

Available options for Properties window


OPTION DESCRIPTION
)$%% ''' Displays the object classes that fit in the filter chosen from the
root-object.
' )$% If checked, the object combo box shows all existing classes in
%''' E3, regardless of filter or root-object.
# ' Displays all properties from the selected object.

Properties that are displayed in bold on this list have already been inserted in the list
which defines columns in the CSV file. By double-clicking a property you will
either add it to or remove it from the list, depending on its previously being on the
list or not. If the property had been grouped with others, the double-click will only
remove this property in the group, keeping the others correctly grouped.

! 8, ( +5 + .2
Objects can be imported/exported in E3 from/to any type of objects, except for
projects and libraries. The operation from the root-object is made on its properties
and child-objects. To do so, follow these procedures:

66 E3 Studio
E3 – User’s Manual

• Right-click the object and select the option Import or Export;


• In the dialog box, select a CSV file, select or configure a template, and click the
button [ :].

Picture 37: Export

When exporting objects, a CSV file is generated with one row per object being
exported. If you chose to export the root-object, an extra row will be generated for
this object with all its properties except for its name, which will remain blank. In the
other cases, it will have the hierarchy with its names separated by dots.
Example of export from an IODriver:

Picture 38: Driver1 hierarchy

E3 Studio 67
E3 – User’s Manual

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

When importing objects, the object being created is identified for each row read in
the CSV. Only the lowermost child-object in hierarchy can be generated. The
remaining path must have already existed. For example, in the object
“Folder1.Folder2.Tag”, only “Tag” can be created. “Folder1” and “Folder2” must
have previously existed. Thus, you are allowed to have only folders in the file, with
no child-objects. The file may have rows like these:
ObjectType;Name
IOFolder;Folder1
Specifically for tag import in Viewer, where folders are not allowed, if the file row
has a Tag name in the format “Folder.Name”, the tag will be ignored because the
folder will not be found.
Blank rows and columns will be ignored, as well as rows with no valid identifier and
columns with invalid properties’s names; and errors will not be generated.
NOTE: When importing objects, the columns to be used are read directly from the
CSV file. In this specific case, it is not necessary to have the variable ! in the
template. However, should any column be named by an identifier, this identifier
must be defined in the section 'or else the whole column will be ignored.

Importing from Elipse SCADA to E3


E3 accepts tag import from SCADA to its system, according to their respective
settings. To use this resource, follow these procedures:
In Elipse SCADA, access the Organizer and select Driver;
• Access the tab Tag List;
• Select the tags and click [ &
# ('
.].

Picture 39: Tag export in SCADA

68 E3 Studio
E3 – User’s Manual

• Select filename and click [ :]. The file is then saved with the extension CSV;
• Close Elipse SCADA and open E3;
• At Organizer, right-click the object Driver, then select the option Import;
• Select the CSV file and the template SCADA.ini, supplied by Elipse Software,
in the folder installpath\Templates, and then click [ # ].

Picture 40: Importing tags from SCADA

! 8- ( +5 + *
To import or export links in E3, you must select the corresponding option in the
template. There is no possibility of excluding a specific type of link: you either
import/export all of them or none at all.
Each link takes one row in the CSV file. Link identification is made through key-
words:
• /( # : for simple, bidirectional or reverse links (set them apart via Reverse
and Bidirectional properties);
• / ( !: for analog links;
• / !: for digital links;
• ) !: for table links.
Links’s properties or fields are imported/exported in the same way as objects’s
properties, each with a column in the CSV file. All links have Source and Property
properties; in addition to these, the properties for each link are:
E3 Studio 69
E3 – User’s Manual

• /( # : Reverse, Bidirectional;
• / ( !: SrcHiValue, SrcLoValue, DstHiValue, DstLoValue;
• / !: BlinkOn, BlinkOff, OnValue, OffValue, BlinkOnValue,
BlinkOffValue.
All links are imported/exported, regardless of the properties selection you have
already made. If a link to a given property already exists, you will be asked what to
do. Otherwise, they will be created.

Picture 41: Importing a pre-existing link

In the object’s name, you must inform the complete path, like: Object.Links.Name.
Example:
Text1.Links.Value (Links indicates it is a link; Value is the property that has this
link).

! 88 ( +5 +
To import or export collections in E3, you must select the corresponding option in
the template. There is no possibility of excluding just some collections: you either
import/export all of them or none at all. The collections here must ALWAYS have
already existed in the object. It is just their properties that will be updated.
The columns in each collection depend on the properties this collection has. This is
treated the same way as the object properties columns.
In object’s name, you must inform the complete path, like: Object.Collection.Name
Example:
E3Chart1.Pens.Pen1

70 E3 Studio
E3 – User’s Manual

On this type’s column you must have one of the following keywords:
• +'
# , for E3Chart’s Pens;
• ( ! , for E3Chart’s Legends;
• , for E3Chart’s Axis;
/&'
• ) !, ", for table links’s rows.

! 89 + 4
During the import or export process, a log file with errors and other important
information that occurred during the process is generated.
Import and export log file is generated every time there is some information to be
recorded. It will be placed in the folder ImportExport inside E3Logs. If the folder
does not exist, this log will not be generated. This file is called
C:\E3Logs\ImportExport\ImportExport_aaaa_mm_dd.log.
By the end of the operation, there is an option for viewing an import failure report.
In this report there is a list of failures which are probably CSV file errors, such as
“object not found”, among others.

Picture 42: Import Failure Report (example)

!9 /
The Properties List is a box for setting properties of the selected object.
The title on top of the Properties List displays the name of the object currently
selected. If you want to make this window visible in the project, just select the
option Properties List in View menu.

E3 Studio 71
E3 – User’s Manual

Picture 43: Properties List

You can configure a value to a property by typing it directly on the selected field, or
by following the instructions on the window when clicking Value field.

!: 1
Collection of graphic objects which can be dragged and inserted into the
applications Screens. These are Metafiles (WMF: Windows MetaFile) objects.

Picture 44: Gallery

72 E3 Studio
E3 – User’s Manual

!; ) &
AppBrowser is a tool that helps the user to assemble their application by informing
to it a logical expression, a link, or a value for the property being manipulated,
according to the selected object. Thus, it is possible to minimize errors when the
application is being created.

Picture 45: AppBrowser

The left window displays the objects that can be used to compose the text resulting
from the use of AppBrowser. According to the context of its use, some of the objects
will not be able to be used, nor will they be shown here.
The right window shows the object’s methods and properties; below, there is a brief
description of the property or method selected.
The window on the bottom is the text resulting from the AppBrowser, next to the
buttons [ ' ] and [ % ]. Press [ ' ] to accept the result and copy the value
to the area you want. Press [ % ] to ignore it.
NOTES:
* When selecting tags, AppBrowser is always opened in the most recent position,
and not the one pointed by the current link;
* AppBrowser has auto-complete function: just type the name of the object you want
and it will be selected automatically.

E3 Studio 73
E3 – User’s Manual

There are three different ways you can use this tool: via scripts, via links, and via
some properties of objects with the name of another object as value. Each of these
ways will be discussed in the next subsections.

!; + ) & 7 (
To use the AppBrowser from a script, just open a scripts view and click on the
button on the scripts toolbar. In this manner, the objects will be presented like
the picture bellow:

Picture 46: AppBrowser via scripts

On the left window:


• the first item, displayed independently, is the context. The context-object is the
one originating the call to AppBrowser, that is, the scripts owner;
• the second item is the complete hierarchy to reach the context-object, in case the
context is not in the project’s root. This object can be expanded, and the context-
object itself can be seen in this hierarchy;
• in case the context is not an object from the server, the third item displayed is
Viewer(Application);
• the fourth item is the Server; in it, all objects from the server that the application
has are listed;

74 E3 Studio
E3 – User’s Manual

• finally, the fifth item is called Tasks, where the most common tasks to be
executed via scripts appear. There are two: Load report (whose result at
AppBrowser is the expression to load a report) and Open screen (whose result
is the expression to open the selected Screen; it is equivalent to the pick Open
Screen).

According to the object selected, the window to the right will show its properties and
methods.

! ;! + ) & 7 ( *
To access the AppBrowser from a link, just open the Properties Window, select the
tab Links, then the property, and finally click on button [ ]. AppBrowser is then
open and the objects appear in the following order:

Picture 47: AppBrowser via links

In this case, only the object’s properties are displayed on the window to the right,
not its methods, because it is not allowed to use them in links.

! ;" + ) & 7 ( 1
Some properties allow you to use the AppBrowser to help fill the expected value
properly. These properties, when selected, show the button [ ] to the right of the
field Value on the Properties List. By pressing this button, the AppBrowser is called

E3 Studio 75
E3 – User’s Manual

displaying only the objects that can be used as value of the selected property. Its
properties and methods are omitted. One example is Formula’s DBServer property,
where AppBrowser will only show the Databases existing in the application.

Picture 48: AppBrowser via property

The properties that allow using AppBrowser are: Formula’s, Historic’s and
E3Storage’s DBServer; Alarm Server’s DataSource; Viewer’s InitialScreen; and
Frame’s SplitLink.

76 E3 Studio
" " (

Domains are clusters of objects and settings that define a supervisory system. They
correspond to Elipse SCADA’s Applications.
E3 is a modular environment of supervisory systems’ development and execution,
composed by the following modules:

E3 Server

E3 Server coordinates all other modules at E3. It is symbolized by on System


Tray.

E3Run
E3Run is the process responsible for the execution of server’s objects: Tags,
Alarms, Databases, Historic objects, etc; that is, all objects except from Screens and
the object Viewer.
E3Run’s execution is represented by an icon on System Tray, according to the
following table:

Available options for icons on System Tray


OPTION DESCRIPTION
Green arrow: displayed when the Domain is loaded and
running.
Gray circle: displayed when there is no Domain running (for
example, when the communication of an OPC Driver is
activated when no Domain had been running previously).
Yellow straight line (simulating movement): displayed when
the Domain is starting or stopping. It occurs in cases when the
domain takes too long to start running, as a standby sign.
Yellow bars: displayed the Domain is in standby.

IOServer
IOServer is the process responsible for I/O drivers’ execution. Each driver runs in a
separate IOServer. IOServers are created, maintained, and monitored by E3Run.

Domains 77
E3 – User’s Manual

E3 Studio
E3 Studio is the applications development and configuration environment. It allows
opening or editing .prj or .lib files. E3 Studio is multi-user, that is, several Studios
can work on the same files at the same time.

Viewer
Viewer is the interface with the user in runtime. It shows the Screens in execution
and enables the user to operate the system. Viewer can run from any point in the
network accessing E3 Server, with no need of copying the application to other
Viewers, because the Screens and bitmaps are loaded according to the needs in
runtime.

" ( (
A Domain is composed of the following files:

DOM: Domain Configuration File


The file .dom stores four types of information:
• Domain configuration options;
• List with .prj and .lib files containing Tags, Screens, object definitions,
etc;
• Configurations of the servers (PCs) that will run the domain;
• User and access permissions configuration.

PRJ: Project File


Domains can have one or more project files. Each .prj file contains object
definitions, Tags, Screens, Historic objects, Alarms, bitmaps, etc. Objects
arrangement inside a .prj file is free; several folder levels can be created inside the
.prj, and each folder can contain any kind of objects. The user may want to share the
objects in a supervisory system among more than one .prj files, according to their
needs. In runtime, each .prj can be activated, regardless of the others, even in
different servers.
Shared execution in the system (in several computers), and the capacity to stop parts
of the application selectively determine the splitting of the objects into several .prj.

LIB: Library File


Library files contain definitions of objects created by the user (Elipse X) that can be
used in project files.

78 Domains
E3 – User’s Manual

"! + (
There are two ways you can create a Domain at E3:
• Through menu File—New Domain. To do so, it is necessary that at least one
project or library be open. When you select this option, E3 opens a dialog box
for choosing the path and the name of the new Domain.

Picture 49: Creating a new Domain

Next, you must decide whether you want to include open projects or libraries into the
new Domain just created.

Picture 50: Confirmation of project/library insertion into the new Domain.

• Through E3’s Application Wizard, which allows the creation of a new Domain
with a project (.prj) or library (.lib) file, as seen in the next section.

Domains 79
E3 – User’s Manual

"! 3 6
The Application Wizard is the tool you use to create a new Domain with a project or
a library.
This option can be accessed the following ways:
• Through the icon New , on Default Toolbar;
• Through the menu File—New Project.
Once the Wizard has been accessed, its initial screen is open. To proceed, click on
[- & ].

Picture 51: Application’s Wizard initial screen

Application Type
On this screen you can choose between creating a standard application, an E3 object
library, or a blank application.
A Standard application is the one whose project has at least one Viewer, one
Screen, and one Data Server, with the option to insert an I/O Driver, a Database, an
Alarm Server, and a Alarm Configuration, all these via Wizard.
An E3 Object Library is a file used to keep several components that can be used in
applications.
A Blank application is a project created with no objects.

80 Domains
E3 – User’s Manual

In the item Application name, specify the name of the .prj or .lib file being created
(according to what has been chosen in the latter option). The place to save the
application is specified in the item Save the application in folder; if necessary, use
the button [ "' ].

Picture 52: Screen Application Time

In case this folder does not exist, a modal window will pop up, and you can decide
whether you will create it or not.

Picture 53: “Invalid folder” warning

Click on [- & ] to proceed.


NOTE: the option E3 Object Library will be discussed later, in the chapter
Libraries.

Domains 81
E3 – User’s Manual

Domain
On this screen you can decide to which Domain the project or library being created
will belong. The option Add to the current domain will only be enabled if there
are active Domains in the system; by clicking this option, the new project will
belong to the current Domain. The option Create a new domain generates the
Domain to which the project or library will belong. The name of this new Domain is
indicated in the option Type domain name. Finally, with the option Don’t add to
any domain, the project or library created will remain not belonging to any Domain.

Picture 54: Screen Domain

Click on [- & ] to proceed.

I/O Driver
On this screen you can include an object I/O Driver in the project or library being
created. If you do so, it is possible to configure the file .dll used by this driver, in the
option I/O Driver filename. To browse the file, use the button [...].

82 Domains
E3 – User’s Manual

Picture 55: Screen I/O Driver

Click on [- & ] to proceed.


NOTE: this screen is not displayed if you have selected Blank application.

Database
On this screen you can include an object Database in the project or library being
created. If you do so, it is possible to configure the .mdb file this Database uses in
the option Enter the database name (.MDB). To browse the file, use the button
[...].

Domains 83
E3 – User’s Manual

Picture 56: Screen Database

Click on [- & ] to proceed.


NOTE: this screen is not displayed if you have selected Blank application.

Alarms
On this screen you can include an object Alarm Server or an object Alarm
Configuration in the project or library being created. The option Store alarm events
in the database enables you to keep the information regarding alarms in disk, as
long as a Database had been inserted in the project.

84 Domains
E3 – User’s Manual

Picture 57: Screen Alarms

Click on [- & ] to proceed.


NOTE: this screen is not displayed if you have selected Blank application.

After that, the system displays the Wizard’s final screen, with a message indicating
the end of the process of application creation.

Domains 85
E3 – User’s Manual

Picture 58: Application’s Wizard final screen

End the process by clicking on the button [9 '].

"" ( 7+
You can configure the Domain:
• Through Deafault Toolbar;
• Through E3 Studio menus;
• Through context menus;
• Through the System Tray.

"" ( 7+ .
To configure the Domain via Toolbar, E3 Studio displays some buttons on the
Default Toolbar.

Picture 59: Default Toolbar

The button (Saves and runs the Domain) executes the Domain (or forces
projects already in execution to be updated), and opens the Viewer. If the Domain
86 Domains
E3 – User’s Manual

takes more than 20 seconds to start execution, the Viewer will not be opened, and it
will be necessary to open it manually.
With button (Runs/Stops Domain), the Domain is either executed or finished.
Finally, the button (Runs/Stops E3 Viewer) either opens or closer E3 Viewer.

""! ( 7+ " (
The Domain can also be accessed via E3 Studio menus. By accessing the menu
File—New Domain, it is possible to create a new Domain, and add open projects
and libraries to it, if necessary. To open a Domain, and load its projects and libraries
into E3 Studio, access the menu File—Open Domain; to close it, access the menu
File—Close Domain. Through the menu File—Users, E3 Studio opens a dialog box
for users configuration and domain access permission.

""" ( 7+ (
To access a project’s or a library’s configurations via context menu, you must right-
click its name in the Organizer.
Through the option Add to Domain, it is possible to add the project or library to the
list of Domain’s projects or libraries, respectively. Specifically for projects, if the
Domain is running, the project added is immediately executed.
To remove the project or library to the Domain, use the option Remove from
Domain. When working with projects, if the Domain is running, the project
automatically stops.
Also, specifically for projects, the option Enable project enables the project for
execution; to disable it you must use the option Disable project. When this option is
selected, the whole project enters maintenance mode. If the Domain is running, the
project is immediately stopped.

"", ( 7+ 1 ( ' 1
When E3 Server is running, its icon is available on the System Tray to access a
menu with several options. By right-clicking this icon and selecting the option
Domain—Options, E3 opens a dialog box with these Domain configuration
options.

Domains 87
E3 – User’s Manual

Picture 60: Configuration options via System Tray

Picture 61: Configuration options

88 Domains
E3 – User’s Manual

The available options are:

Available options for Options tab


OPTION DESCRIPTION
- " 6# %%'' Specifies the network path to access the
! ' Domain files.
) " 6!' ) Enables Domain network distribution, i.e., in
more than one server. If disabled, the Domain
is executed in the server it has been loaded
into, with no Hot-Standby support. If enabled,
it is possible to select a main server where the
Domain will run and, optionally, a standby
server.
: Selects the name of the main server to run the
Domain. To register and configure servers, use
the page Servers.
%
6# : If enabled, selects a backup server to run the
Domain. This server remains in standby, with
the application loaded in E3Run ready to be
executed in case the main server fails, or in
case the backup server is activated manually.
- !! '
' % %
6 Hot-Standby algorithm demands a third
" 6 (7 network entity to be declared (the other two
being main and backup servers) to determine
whether the network is working. If you can
access neither the integrity address nor the
backup server, the main server assumes that its
network interface is having problems and
immediately terminates Domain execution.
/%: )%
6#' : Enables automatic server switchover when a
% local failure is reported in main server. Local
failure is detected and reported by the
application itself with the function
Application.ReportFailure. Server switchover is
accomplished only if the backup server has no
flaws.
%: )%
6# Indicates the time to activate backup server.
': Default value is 15 seconds. This time affects
ping timeout between servers directly. If it is
too low (switches every 1 second, ping
timeout = 160 ms), there may be spontaneous
server switchovers caused by small failures in
the network.
%
6#' : # > %: Presents the following pre-activation profiles
# available:
Minimal: Only standard services;
Maximum: E3 activates all available services
when in standby (links, I/O drivers, scripts,
and database).
Custom: Define which services you need.

Domains 89
E3 – User’s Manual

> %: " ( Allows you to choose the services you want to


' :%' activate (so long as the latter option has been
enabled as Custom):
Links: Default value is disabled. If enabled,
makes links and XObjects’ Link-type
properties be evaluated during standby
activation.
I/O drivers (no communication): Default
value is disabled. If enabled, the IOServers
will be created during standby activation.
(This option is important in applications with
several I/O Drivers.)
Scripts: Default value is disabled. If enabled,
it makes all event scripts from objects and
libraries be compiled and activates during
standby activation.
Database: Default value is enabled. This
means the Database will be connected during
standby activation. If disabled, it will only
keep the connection with the Database from
being created during standby activation.
This option is automatically enabled when
EnableSynchronization property is True.

IMPORTANT: When the Domain starts running, E3 Server always picks the active
server alphabetically, regardless of this having been selected as main or server
backup. This is the criteria the server uses to choose the server to execute the
Domain, every time there is more than one applying for the job. For further
information, see the chapter Hot-Standby.
When Domain is distributed in network, the following procedures are necessary:
• Define a shared directory on the network to contain the Domain files main copy.
This directory must be placed in a computer that is not a part of E3’s Domain.
• Create in each E3 Server a directory where an updated copy of Domain files is
kept. E3Run will use this local copy of the .prj and .lib files.
• Always open the same network’s .dom file, by using the network path (Ex:
\\server\folder\domain.dom).
• When using E3 Studio, always edit the main copy’s projects and libraries (on the
network). To apply the alterations, copy the altered .prj and .lib to the local
directory of Domain servers. After that, click Studio’s button so that the
alterations are applied in runtime (E3Run).
NOTE: NETWORK DISTRIBUTION IS NOT AVAILABLE IN DEMO MODE!
When the Domain is distributed in network mode, it is necessary that all servers
have a copy of the domain files (.DOM, .PRJ, and .LIB) and the same directory tree.

90 Domains
E3 – User’s Manual

", "

E3 Server coordinates all other modules at E3. It is symbolized by the icon on


the system tray. E3 Server is responsible for:
• Checking and managing user licenses from different modules of E3;
• Starting/Stopping/Monitoring Domain’s runtime process (E3Run);
• Opening/Editing/Manipulating .dom files;
• Controlling user access to Domain objects;
• Monitoring other servers from Domain and implementing Hot-Standby.

E3 Server can work with just one domain file at a time, and this is called “Open
Domain”. Domain files are manipulated only by E3 Server. A domain can be
opened by E3 Server the following ways:
• Through the command line: E3 Server – start file_path.dom (loads and executes
the domain). Ex: E3 Server – start C:\Program Files\Elipse
E3\Projects\Project2.dom
• Via Studio, with the menu Files – Open Domain (loads just one domain).

The domain remains opened until another domain is selected, or until it is closed.

", + + "
E3 allows the generation of logs of their components and of E3 Server. To do so,
just create a folder called E3Logs in C:\ directory. So, when E3 runs, logs are
automatically generated in this folder.
It is possible to obtain more specific logs to some E3 components simply by creating
folders, from the list below, according to your preferred type of log:
• DB: Database logs.
• Full: More detailed, generic logs from several parts of E3.
• IO: IODrivers’ read logs (including the errors, if there is any).
• Raw: Logs of low level of communication between Viewers and Servers.
• Sync: Event Registry logs.
• Rec: More specific and detailed logs of alarms, of communication between Server
and Viewer, and of database’s object tracking.
To do so, just create these folders in the directory C:\E3Logs.
Note: Generic logs are always updated, even if E3 is closed incorrectly (when it
fails, for example). The other logs are updated periodically, and if E3 is not closed
properly, the content may be incomplete, or even empty.

Domains 91
E3 – User’s Manual

" ,! + " ((
E3 Server can be accessed through a command line the following ways:
E3 Server <domain_name> [options]
or
E3 Server [options] <domain_name>

The available options are:


• -start or /start : Starts the domain informed by the user. Using this option is not
mandatory. Even if it is not informed, the domain is started.
• -viewer or /viewer : Executes Viewer for the application.

" ," ( 1 7+
With the folder Security, it is possible to determine Domain’s security default
configurations. This option is default in case no permission options from the users
are enabled. To access this item, double-click E3’s icon on the System Tray, select
the option Domain—Options, and access Security tab. The following window is
diplayed:

Picture 62: Domain security’s configuration

The available options are:


92 Domains
E3 – User’s Manual

Available options for Security tab


OPTION DESCRIPTION
;' % % ( Keeps user from changing their password in
#''
" ! runtime.
''
" !&# ' !7' Determines user’s password expiracy date.
Before the password expirers, the system lets
the user knows how many more days they will
have to change it. After that time, if the
password has not been changed, the user is
blocked.
'
'" ! ' : ' Determines the minimum amount of characters
% % ' for the user’s password.
'
'" ! ' : ' ! Determines that the password must contain
)' letters and numbers.
'
'" ! ' : ## %' Determines that the password must contain
! " %' % % ' uppercase and lowercase characters.
%6' % % Determines the maximum amount of login
! (' failure tolerated by the system before user’s
account is blocked.
;) %6' %7 Unblocks user’s account after certain minutes.
'
1 ' !7') Determines the date the user starts receiving
#''
" !)% &# ! daily messages from the system about
password’s expiracy date. After that date, if the
user does not change their password, they are
blocked, and only the Administrator can
unblock them.

Password blockage: A user can be blocked in the following situations:


• If their password expires (expiracy date can be global, group’s, or user’s attribute).
• If the user mistypes their password a certain number of times in a row (login
failure).
Once blocked, the account does not allow login anymore. This condition remains
until an Administrator unblocks the password manually, or until the blockage times
out.

" ,, % &
It is possible to specify, according to Viewer’s IP, if it will be able to connect, and
with which type of license (Viewer Full or Viewer Only).
With this resource, it is possible to block the connection completely, or to limit the
amount and type of licenses to be used simultaneously to a certain IPs group.

Domains 93
E3 – User’s Manual

To access Viewers groups, right-click on E3 icon on the System Tray, select the
option Domain–Options, and access the tab Viewers group. The following window
is then displayed:

Picture 63: Viewers group settings

The options available are:

94 Domains
E3 – User’s Manual

Available options for Viewer groups tab


OPTION DESCRIPTION
- Lists the names of all Viewer groups.
/!!<, : Adds/removes Viewer groups.
# Enables the creation/alteration of Viewer groups’
names.
' Specifies which IPs will belong to the group, and
thus will share the same connection limits. When
a Viewer tries to connect to E3 Server, its IP
address will be compared to the existing groups.
After the group to which it will belong is
determined, the license restriction configured to
that group will be applied to this Viewer.
/!!< ! <, : Adds/edits/removes IP numbers. When a group is
created, it has no specified IP (except for the first
group, which is always “*.*.*.*”, and cannot be
created by the user). In case you try to save the
settings and some group has an empty IP list, the
system will display a warning sign. In case the
group is maintained that way, it will be useless.
/ "4 " 9 When checked, it allows Viewer Full connections
% % ' for the group.
' '% ' When checked, it will limit the use of
' simultaneous Viewer Full licenses down to a
certain number. If the previous option is checked,
but this one is unchecked, the use of
simultaneous licenses is unlimited.
/ "4 " 7 When checked, it allows Viewer Only
% % ' connections for the group.
' '% ' When checked, it will limit the use of
' simultaneous Viewer Only licenses down to a
certain number. If the previous option is checked,
but this one is unchecked, the use of
simultaneous licenses is unlimited.

It is worth noticing that these limits are entailed in E3 Server’s limits, as configured
in the hardkey. For example, if the hardkey has ten Viewer licenses and the group
specifies five connections, only these five will be used. However, if the hardkey has
five Viewer licenses and the group specifies ten connections, the hardkey limit is
obeyed, and just five connections will be used.
Viewer groups’ configurations must be done preferably when the domain has
stopped. In case it is done with the domain running, it will have no effect unless all
Viewers are disconnected.

Domains 95
E3 – User’s Manual

" ,- ( + 7+
The events follow into either one of the two categories: System’s Default Events,
and Manual Events.

System’s Default Events


These are events automatically generated by E3, and that can have their register
enabled/disabled individually:
• User login/logout;
• User’s password change;
• User’s login failure;
• User’s database alteration;
• User’s account blockage;
• Domain’s start/finish;
• Domain alteration (Insert/Remove/Enable/Disable projects and libraries;
alter domain configuration);
• Domain update (when the user tells the system to apply the alterations
performed in projects via Studio);
• Manual switchover to Hot-Standby server.

Manual Events
These are events defined by the application. These events are generated in user
scripts, through the method call Application.TrackEvent. These events can be
generated both at Viewer and Server (E3Run).
Viewer is just a generator of manual events. All you have to do is call the method
Application.TrackEvent, and the event will be sent to E3 Server.

96 Domains
E3 – User’s Manual

Operation Design
The diagram below shows how the different processes at E3 generate and treat the
system’s event.

Lista de Eventos Lista de Eventos


evt1 (...) evt1 (...)
evt2 (...) evt2 (...)

DB

Each E3 Server maintains an internal list of the events to be registered at the


Database. These events can come from three different sources:
• Events generated at the Viewers (by using Application.TrackEvent method).
• Events generated internally at E3 Server.
• Events generated at E3 Server /-+ D.
E3 Server /-+ Dperiodically sends the list of events to E3 Server @ , because
only this one has conditions to record events in the database. Events are placed on
@ ’s event row alongside the other events in the system. That is to say: @
server centers event recording.
If there is a server switchover, the events that had not been recorded are passed
automatically to the new @ server.
E3Run records in the database the registers sent by E3 Server @ . E3 Server then
informs the name of the Data Server and the table where data will be recorded,

Domains 97
E3 – User’s Manual

Events Recording Configuration


The tab Recording Configuration allows you to configure events recording at E3.
To enable events recording, it is necessary to enable the option “ Enable system
events recording” .

Picture 64: Events recording

The options available for this item are the following:

98 Domains
E3 – User’s Manual

Available options for Events Recording tab


OPTION DESCRIPTION
) '7' : ' % ! ( Enables events recording
/ % 7 ' % ##% By enabling this option, you will let E3Run
! ) ' pick a Data Server to record data. If the
application has only one Data Server, this is
the one to be used. If there is more than
one, it is recommended to use the option
Use this database.
;' '! ) ' By enabling this option, you will specify
the Data Server where the events are
recorded. If Data Server’ s name is informed
incorrectly, the events will be stored on E3
Server’ s event row (in memory), until a
valid Data Server is indicated.
) Indicates the name of the table where the
events are recorded. The table is created
automatically by E3Run, with the following
fields:
• E3TimeStamp (DateHour):
The field E3TimeStamp is
configured by E3Run and
contains date/hour when E3Run
sent the event to the Database.
• EventTime (DateHour): This
field has the time/hour the event
actually took place, and server’ s
(HOT or STANDBY) current
time/hour when the event was
created; or then ! #
parameter specified for
Application.TrackEvent()
method.
• EventMessage (String): event
message (maximum = 200
characters)
• EventComment (String):
comment on the event
(maximum = 200 characters)
%6) " : ' ) Lists the events available to be registered in
(( ! the system.

NOTE: If E3Run has to pick among several Data Servers, usually the first one to be
activated in domain execution (the highest at E3Organizer’ s tree) is the chosen one.
If during domain execution the user disables the project with the Data Server used to
record events, E3Run automatically picks another Data Server available in the
application, and uses this one until another Data Server is re-activated. This implies
in the possibility of some events to be recorded in one Data Server whereas other
events are recorded in another Data Server, when there is more than one DS in the
Domains 99
E3 – User’s Manual

project (that is why it is recommended that a specific Data Server be indicated, when
there is more than one DS in the project).
When an event is selected from the list, and [92] button is pressed, a dialog box for
event edition is opened. The window below is then shown:

Picture 65: Events edition

Uncheck the option “ Use default message” to alter the event’ s message. Click the
button [ ] to insert a macro inside the message. Only the macros allowed for the
event are shown.

Picture 66: Macros available for the event

100 Domains
E3 – User’s Manual

Macros’ format is always %macro%. The following macros can be used:


• %%: Inserts a % signal in the message.
• %USER%: Inserts the name of the user who generated the event (or
“ Anonymous” , if there is no user logged).
• %MACHINE%: Inserts the name of the machine where the event was generated.
• %SESSION%: Inserts the name of the program where the user was logged
(“ Viewer” , “ Studio” or “ E3 Server” );
• %CAUSE%: Additional information on the event.
For example, if the message from the event “ Login fail” is altered to:

"%USER%’s login has failed at the computer %MACHINE% (using a


%SESSION%): %CAUSE%"

If the user “ Admin” mistypes their password while logging in the Viewer running on
the machine CLIENT004, the following event is generated:

" Admin user login has failed at the computer CLIENT004 (using
a Viewer): login or password incorrect"

System’ s default events are:

User login
User '
%USER%'has logged in %SESSION% in machine ' %MACHINE%'
Generated every time a successful user’ s login takes place either at Studio or at
Viewer, where:
• %USER%: login that generated the event.
• %SESSION%: program name where the user was logged in (e.g.: “ Viewer” ).
• %MACHINE%: computer where the event was generated.

User logout
User ' %USER%' has finished their session of %SESSION% in machine
'
%MACHINE%'
Generated every time a user’ s logout takes place either at Studio or at Viewer (or
whenever the program is closed with no logout; in this case, logout is automatic),
where:
• %USER%: login that generated the event.
• %SESSION%: program name where the user was logged in (e.g.: “ Viewer” ).
• %MACHINE%: computer where the event was generated.

Domains 101
E3 – User’s Manual

Password change
Password of user '
%USER%'has changed
Generated every time a user’ s password has been changed (calling Viewer’ s
ChangePassword function), where:
• %USER%: login that generated the even

Login fail
User login '
%USER%'in %SESSION% in ' %MACHINE%'failed: %CAUSE%
Generated whenever a user’ s login fails either at Studio or at Viewer, where:
• %USER%: login that generated the event.
• %SESSION%: program name where the user was logged in (e.g.: “ Viewer” ).
• %MACHINE%: computer where the event was generated.
• %CAUSE%: reason why the event was generated.

User database change


User '%USER%'has changed user database
Generated whenever users’ base is altered (usually through the option File— Users,
at Studio), where:
• %USER%: login that generated the event (or “ Anonymous” , if there were no other
users logged).

Blocked account
User account '%USER%'has been blocked
Generated whenever a user’ s account is blocked due to an excessive number of
wrong logins, where:
• %USER%: login that generated the event.

Domain started
Domain has been started by user ' %USER%' in %SESSION% in machine
'
%MACHINE%'
Generated whenever the domain starts (put in execution), where:
• %USER%: login that generated the event. (or “ Anonymous” , if no authentication
has been asked when the domain was executed).
• %SESSION%: program name where the user was logged in (e.g.: “ Viewer” ).
• %MACHINE%: computer where the event was generated.

Domain closed
Domain has been closed by user '
%USER%' in %SESSION% in machine
'
%MACHINE%'
102 Domains
E3 – User’s Manual

Generated whenever the domain stops, where:


• %USER%: login that generated the event (or “ Anonymous” , if no authentication
has been asked when the domain stopped).
• %SESSION%: program name where the user was logged in (e.g.: “ Viewer” ).
• %MACHINE%: computer where the event was generated.

Domain updated
Domain has been updated by user ' %USER%' in %SESSION% in machine
'
%MACHINE%'
Generated whenever the domain is updated by Studio’ s “ !!!” , that is, whenever the
alterations made at .prjs and .libs are applied, where:
• %USER%: login that generated the event (or “ Anonymous” , if no user is logged).
• %SESSION%: program name where the user was logged in (e.g.: “ Viewer” ).
• %MACHINE%: computer where the event was generated.

Domain changed
Domain has been changed by user ' %USER%' in %SESSION% in machine
'
%MACHINE%' : %CAUSE%
Generated whenever the .dom file is modified, where:
• %SESSION%: program name where the user was logged in (e.g.: “ Viewer” ).
• %MACHINE%: computer where the event was generated.
• %CAUSE%: reason why the event was generated. It can be:
“ Alterations applied to domain’ s edition computer window” ;
Project ‘nameofproject’ added (enabled).
Project ‘nameofproject’ added (disabled).
Project ‘nameofproject’ removed.
Project ‘nameofproject’ disabled.

Manual server switch


Standby server activated by user ' %USER%' in %SESSION% in machine
'
%MACHINE%'
Generated whenever a domain’ s backup server activation is forced, through the
option Server— Activate, from E3 Server menu, where:
• %USER%: login that generated the event (or “ Anonymous” , if no authentication
was asked when the server was activated).
• %SESSION%: program name where the user was logged in (e.g.: “ Viewer” ).
• %MACHINE%: computer where the event was generated.

Domains 103
E3 – User’s Manual

",8 / 2 7+ (
Projects page allows you to add, remove, and edit projects (.prj) from a domain. Use
this option to select one or more projects to be altered. To access this item, right-
click E3’ s icon on System Tray, and select the option Domain— Options—
Projects.

Picture 67: Project configurations

The options available for this item are:

104 Domains
E3 – User’s Manual

Available options for Projects tab


OPTION DESCRIPTION
- This option lists the name of the projects in the
system.
/!! <, : Adds/removes projects to/from the system. To add a
project, click “ Add” , and fill in the fields “ Project
Name” and “ Network Distribution” . To remove it,
just select it and click the button “ Remove” . The
.prj file is not deleted from disk, just from the list of
domain’ s projects.
$% - File path to domain’ s directory (directory
containing. DOM file). Example: Screens.PRJ
Hydro\Station1.prj
% ! Disables domain execution in the project. This
A! ' ) !C makes it possible for you to disable domain,
preventing errors to happen in project execution. If
the option is enabled, the system shows the icon ,
which shows the project will not be used. The other
projects, with the icon, show enabled projects.

",9 7+
Projects page allows you to add, remove, and edit servers in a domain. Use the list to
the left to select one or more servers to be altered. The list also indicates whether the
project is enabled ( ) or in maintenance/disabled ( ).
To access this item, right-click E3’ s icon on System Tray, and select the option
Domain— Options— Servers. The screens below is then shown.

Domains 105
E3 – User’s Manual

Picture 68: Servers configuration

The available options for this item are:

106 Domains
E3 – User’s Manual

Available options for Servers tab


OPTION DESCRIPTION
- Lists the names of servers in the system.
/!!<
, : Adds or removes servers from the system. To add a
server in network, just click Add and specify the
fields Server Name, Network Address; and, for a
local server, just specify Local Path. To remove a
server, just select it and click Remove.
: Server name, defined by the user.
- " 6 !! '' Check this option to indicate the location of domain
files (.prj and .lib) in the selected server when they are
not in the same .dom folder. It is recommended that
the domain files always be in the same folder as .dom
file, so usually this option is disabled.
% # ! ' Server name in the network. It must be the machine’ s
'' : name with or without the double reverse slashes in
the beginning (e.g.: \\server, or server).
% ! Disables server execution in the project by disabling
A! ' ) !C the server, thus avoiding errors in project execution. If
this option is enabled, the system shows the

icon , which shows the server will not be used.

The servers displaying the icon are enabled.

Domains 107
E3 – User’s Manual

",:
You can also view licenses via E3 Server. To access this item, right-click E3’ s item
on System Tray and select the option Licenses. The window below is then shown.

Picture 69: Licenses

The options available for this item are:

Opções disponíveis da Licença


OPÇÃO DESCRIÇÃO
LICENSE ID Eight-digit hexadecimal that informs license’ s number
(hardkey). If hardkey is not detected, the number is
00000000.
E3 SERVER Indicates the type of E3 Server.
E3 STUDIO Indicates the number of licenses available, and the number of
licenses in use.
E3 VIEWER Indicates the number of Viewer licenses available, and the
number of licenses in use.
E3 VIEWER Indicates the number of Viewer licenses available, and the
ONLY number of licenses in use, for Read-Only mode.
IOPoints Indicates the number of IO points available, and the number
of IO points in use.
Maximum Indicates an application’ s maximum amount of execution
execution time time.

108 Domains
E3 – User’s Manual

",;
The dialog box Monitor shows real-time information about domain’ s server status.
To access this item, right-click E3’ s icon on System Tray, and select the option
Monitor.

Picture 70: Monitor

The available options for this item are:

Available options for E3 Server— Monitor window


OPTION DESCRIPTION
! Shows the name of the current .dom file, and
indicates domain status: either running or stopped.
( !! '' Shows connection status with the network integrity
address.
- Server name.
/!! '' Server’ s network address.
( Shows network ping’ s status with this server.
%6 Shows server local time.
Shows domain status: either running or stopped.
% Shows DCOM connection status with the server.
, Shows a list of roles reported by the server:
- Active: This is the active server in the domain;
- Standby: This is the standby server in the domain;
- Failure(n): Server has local failures reported;
- Priority: Server requested priority to run the
domain. Makes the active server turn standby;
- Candidate: Server is a candidate to run the domain;
- E/S: Server has active IOServers.

Domains 109
E3 – User’s Manual

", <
Enables E3 Server execution as service. So, it is possible to start the domain
automatically through the specified path.
To access this item, right-click E3’ s icon on system tray, and select Advanced. The
following box is shown:

Picture 71: E3 Server – Advanced

The available options for this item are:

Available options for E3 Server - Advanced


OPTION DESCRIPTION
, : ' ' :% Runs E3 Server’ s as a service
! % 7 Starts domain automatically through the specified
path.
;' % ! Enables the use of current domain.

To stop E3 Server when it is being executed as a service, there is the option Stop E3
Server, available in the pop-up menu only after the first option in the window above
is checked. When this option is selected, you will be asked to confirm the stop; if
confirmed, the domain is stopped and closed, and all Studios and Viewers are
disconnected.

Picture 72: Stop E3 Server

NOTE: This option is not valid for Demo mode.

110 Domains
E3 – User’s Manual

"-
Used to determine domain server, which can be local or network, and Studio license,
which can be from the domain server or from another server. To use this resource, it
is necessary to access the menu File— Connect to… , and then the dialog box is
open:

Picture 73: Connect to...

The options available for this item are:

Options available for Connect to...


OPTION DESCRIPTION
% % ' : Enables connection to local server
% ' : Enables connection to a server in the network. For
" 6 that, access it through a combo box.
% ' Uses the license from the server running the domain.
% ! ' :
;' % ' Uses the license from another server that is not
" (' : running the domain.

If the connection to either server (domain server or license server) is down, Studio is
disconnected from the other server. Its latest configuration is stored in the registry,
and the next time the Studio is open it will connect to both the domain a license
servers used for the last time.
If the license server is different from the domain server, the name of the license
server is displayed in the title of Studio’ s window: “ (license on local server)” or
“ (license on XXX)” .
Domains 111
E3 – User’s Manual

If a license server is specified, E3 Server’ s license window on domain server


identifies the name of the server Studio is “ borrowing” the license from: “ SERVER1
(license borrowed from SERVER2)” . In this case, the license listed on the domain
server is not a part of the total amount of Studio licenses in use in this server.
If the domain server does not have a hardkey, and a Studio connects to this server by
using another server’ s license, the domain server will switch temporarily from Demo
mode to Studio mode (see the section Available Packs, in the chapter
Introduction), switching back to Demo mode as soon as Studio section is closed.
NOTE: When the Studio is using a license borrowed from another server, it must
compulsorily remain open throughout the whole application’ s execution. If it is
closed while the application is running, the borrowed Studio license (which allows
the application’ s execution for up to six hours) will be released, and E3 Server will
end the application’ s execution immediately (in no longer than 10 seconds).
If connection fails, the system opens a dialog box for reconnecting Viewer.

Picture 74: Reconnecting Viewer

The window Connect to... is open to allow connection to a local server or to another
server in the network. The connection to a remote server makes an E3 Studio license
be consumed there. Local hardkey is not used when the connection is remote. E3
Studio’ s title informs the name of the connected server, as well as indicates whether
it is running on demo mode.
HINT: When the user connects to a server, it is important that the applications be
open through a net path. Instead of using “ C:\projects\project.dom” , use
“ \\server\preojects\project.dom” . That way, Studio and remote E3 Server will be
able to access the files through the same path.

112 Domains
,,

E3 allows communication with data acquisition devices, controllers, PLCs


(Programmable Logic Controllers), RTUs (Remote Terminal Units), or any other
type of devices through I/O Drivers or OPC Servers, according to the type of
device or the type of communication required.

, 5
$
I/O Drivers are E3 modules that communicate with a certain device by using .dll
files. These drivers are developed either by Elipse Software or by third parties from
a DDK (Driver Development Kit), supplied by Elipse Software, in C/C++ language.
Each driver implements a different family of devices or protocols, according to the
type of communication device or protocol. New drivers are routinely developed by
Elipse Software.
To insert an I/O Driver into the project, right-click on project’ s name and select
Insert— I/O Driver.

Picture 75: Inserting an I/O Driver into the application

Drivers 113
E3 – User’s Manual

When you insert a Driver into an application at E3 Studio, the object’ s view is
opened, as seen below:

Picture 76: I/O Driver’s view

The available options are:

Available options for I/O Driver’s view


OPTION DESCRIPTION
/!! Adds a new I/O Folder, Tag or Block to the
Driver; a new I/O Tag or Block to a folder; or a
new I/O Element to a Block.
, : Removes the item selected in the view.
+ : ' (' Accesses the driver’ s extra settings window.
( "' Opens a window that enables you to import tags
directly from the driver.
/% : <
! % : Activates and deactivates driver’ s
% % communication.
(% Displays the total number of I/O tags inside the
driver.

114 Drivers
E3 – User’s Manual

, 5$ +
To determine the I/O protocol to be used, just click on DriverLocation property. A
box for selecting the .dll file with the communication will appear, according to the
picture below.

Picture 77: Driver

For further information on each driver’ s individual settings, refer to the respective
help files, where there is information on [P] parameters configuration as well as on
the other properties available on the driver’ s settings window.

Communication Test
When you configure an I/O driver, you can perform a test procedure in order to
check whether its values are correct and being updated with no problems. When you
click the I/O Driver, the option Activate Driver is opened.
Thus, the specified I/O driver is loaded and the variable values can be visualized in
each tag’ s 4 field in the design view. In case there is a tag with AllowRead
property False, or even with no value to be reported, its row will appear in gray.
When the tag has communication errors, its row becomes red, and in case it presents
no problems, its row will be blue. To interrupt monitoring, right-click on I/O Driver
again, and select the option Deactivate Driver.

Drivers 115
E3 – User’s Manual

, ! 5$ 3 * +
The IOServer is the module in E3 responsible for communication with the device. It
is into IOServer’ s process that the driver’ s .dll is loaded, and communication with
the device is achieved.
The I/O Tags enable you to read and/or write a cluster of values by using the I/O
Driver where they are inserted. You can also use I/O Blocks to read more than one
variable simultaneously. To access each value in the block you must use a Block
Element, which can be inserted into the object. These objects will be discussed in
the next sections.
In runtime, E3 creates an IOServer for each I/O driver. Based on each tag’ s scan
time (Scan property), the driver requests periodically each tag’ s value. Every time
tag’ s value or quality is altered, its value will be passed to the I/O driver.
Each variable’ s cycle time checking is made sequentially. In case some variable’ s
cycle is “ late” , the IOServer will proceed asking its value, moving on to the next
variable until the whole spreadsheet is complete, and then it returns to the top for a
new scan.
You can reserve a smaller cycle time for variables that need to be updated more
quickly, and a larger cycle time for variables whose updating priorities are low. It is
important to notice, however, that communication performance depends on a lot of
factors, among which are device type, communication interface type in use, baud-
rate, errors rate, etc.
Every time E3 sends a request with values attribution for one or more variables, this
request will have priority in execution against tag scan.
In the event of IOServer failure, E3 automatically restarts this module, in order to
restore its working. On the other hand, the IOServer will interrupt its working in
case there is no E3 Runtime (Main or Standby) to receive its data.
Through ShareServer property, it is possible to share the same IOServer among
several I/O drivers. The first driver to be executed will be the responsible for starting
communication procedures, such as opening a serial port or initializing a
communication interface. The following shared I/O drivers will be sharing the same
IOServer opened by the first one, which allows sharing the communication
interfaces used by the driver.
This may be an advantage, since many communication devices (such as modems,
serial ports and other interfaces) allow just one connection, what prevents
simultaneous use by more than one driver. When you share drivers, you can “ re-use”
the same connection for more than one object. You should notice that the settings for
the shared drivers must all be the same for the proper working of driver sharing.

116 Drivers
E3 – User’s Manual

When the domain is being executed, you will have access to the I/O driver’ s
execution interface, called Driver Manager.

Picture 78: Access to Driver Manager

The Driver Manager allows you to view all drivers being executed, as well as their
properties.

Picture 79: Driver Manager

Drivers 117
E3 – User’s Manual

The available options are:

Available options for Driver Manager window


OPTION DESCRIPTION
- Informs the name of the driver inserted into the system.
Informs driver path in the system.
!E Informs whether the driver is shared. If so, the word YES is
displayed; otherwise, the word NO appears.
, ! ' Shows the total amount of driver reads and read errors, as
well as the percentage of errors in relation to the number of
reads.
1 ' Shows the total amount of driver writes as well as write
errors, as well as the percentage of errors in relation to the
number of writes.
( Shows log status (enabled/disabled).
) ( ) Enables driver log in runtime, with no need for
reconfiguring the application. You can interrupt this record
procedure through the same button.
, ' ) Forces the displayed data to be updated.

Using a Timestamp
Some devices and protocols allow you to send information on time alongside
variable values. The I/O drivers for such devices can also return the information
from the clock stored in TimeStamp property (1ms resolution) for each consulted
variable.
When the device does not support this type of information, or when the driver is not
prepared for this, the I/O driver inserts the current date/time into the timestamp from
the computer’ s clock. With this timestamp, E3 will then use this information both
for checking and recording alarms and for generating historic files.
In case of block elements, the same timestamp is informed for all elements, since
they have all been consulted at the same time. If the driver supports both block and
tag variable reads in the event the elements represent distinct events, it is preferable
to use I/O tags instead of block elements.

118 Drivers
E3 – User’s Manual

To obtain more information on which devices have this feature, contact driver’ s
vendor. To know which drivers or variable types inside the devices use timestamp,
check your driver’ s help or call Elipse Software’ s technical support.

Value lists
In addition to sending the timestamp, I/O drivers also support sending value lists to
the tags. Lists are a value sequence for the same I/O tag or block, informed in the
same read.
A usage example for value lists is the collection of quick variations of a digital tag
through an SOE (Sequence of Events), which are stored in a PLC or RTU, or even in
the read of data tables where telemetric data is stored, according to the examples:

Picture 80: Examples

In the first table, there is a sequence of values for field /, linked to a time instance
representing an SOE read. In this case, you should perform the read via an I/O tag,
which will bring the whole table in one read. Then, the values on field / will be in
the tag itself, and the value of field will be in TimeStamp property.
In the second table, you have a typical representation of telemetry data collection,
where for every instance of time there are several columns representing several
values collected at that given moment. To read these values, the ideal is to use an
I/O block which will bring the whole table in one read. Then, the value of field
will be in TimeStamp property, the value of field A will be linked to a block
element, the value of field B will be linked to another block element, and so on and
so forth.

Drivers 119
E3 – User’s Manual

, " 5$ 4
I/O Folders define groups and subfolders to organize variables. Each folder can be
renamed as needed, and new folders can be inserted inside each other. To use this
resource, follow this procedure:
At Organizer, right-click Driver and select Insert— New Folder.

Picture 81: Inserting a new I/O Folder

120 Drivers
E3 – User’s Manual

, , 5$ ' +
I/O Tags enable reading and/or writing a cluster of values by using the I/O Driver.
They are used to define information exchange with acquisition equipment, which
consists into one independent variable.
An I/O tag can be an analog variable, input, output, counter, digital point, etc.
Several digital points can be clustered in the tag and be accessed through their
properties, like data bits. I/OTags are configured through a series of [N] parameters
(N1 to N4), that vary according to the I/O driver to be used.
To use this resource, follow this procedure:
Insert the I/O tag into the project, by right-clicking Driver and selecting
Insert— I/O Tag.

Picture 82: Inserting I/O Tags

In case the device being used to collect data informs tag values that need to be
converted, you can use tag scales, which are basically a specification of a linear
conversion between two different bases.
To do so, you must enable tag’ s EnableScaling property and inform + : % "and
+ : % @ ( parameters (via their respective properties), which would be
Drivers 121
E3 – User’s Manual

respectively low and high limits from the data in the device, in addition to informing
; " and ;@ ( parameters (via their respective properties), which are data’ s
low and high limits in engineering units.
Some of this object’ s properties can be configured directly on the Properties List,
with no need for creating scripts for this. Further information on this object’ s
properties functionalities can be found at Scripts: Reference Manual, in their
respective chapter.

, - 5$ ) *
I/O Blocks are used to define the information exchange with the acquisition device,
which consist of one or more variables, as long as it is consecutive in the addressing
inside the external device.
Depending on the communication method used, you can save time in
communication, obtaining a greater number of updating in a same time interval
when compared to an I/O Tag. I/O Blocks are configured through a series of [B]
parameters (B1 to B4), which vary according to the I/O driver to be used, in addition
to Size property, which defines the number of elements or indexes available in the
Block.
To use this resource, follow these procedures:

122 Drivers
E3 – User’s Manual

Right-click on Driver and choose the option Insert— I/O Block;

Picture 83: Inserting a Communication Block

The system then shows a window to determine the number of block


elements in this object. In this option, it is possible to indicate the mapping
of all elements in the block, or just in a given elements interval;

Picture 84: Configuring the new block

Drivers 123
E3 – User’s Manual

Inform block size and mapping option;


Click [ F];
If necessary, configure object’ s properties.
Some properties in I/O Block can be configured through Properties List, and there is
no need to create scripts for this. In case you need to configure any property, just
locate it on Properties List and perform the necessary adjustments.
For further information on properties, see Scripts: Reference Manual.

, 8 5$ (
I/O Elements represent the associations of each position in the block, to be used as
I/O tags. Block elements can “ point” freely to each index inside a block. There can
be two block elements pointing at the same index in the block, and also to more, less
or the same number of elements as the number of variables declared in the block.
To use this resource, follow these procedures:
Right-click on I/O Block and choose the option Insert— I/O Element.

Picture 85: Inserting a block element

124 Drivers
E3 – User’s Manual

In case the device being used to collect data informs tag values that need to be
converted, you can use tag scales, which are basically a specification of a linear
conversion between two different bases.
To do so, you must enable element’ s EnableScaling property and inform
+ :% " and + : % @ ( parameters (via their respective properties), which
would be respectively low and high limits from the data in the device, in addition to
informing ; " and ;@ ( parameters (via their respective properties), which
are data’ s low and high limits in engineering units.
Some of this object’ s properties can be configured directly on the Properties List,
with no need for creating scripts for this. Further information on this object’ s
properties functionalities can be found at Scripts: Reference Manual, in its
respective chapter.

, ! $/
In addition to having an OPC client (OPC Driver), E3 also works as an OPC Server
DA (Data Access) 2.0x. This allows E3 to make all existing objects in the running
domain (I/O tags, etc) available to software packs outside E3. Among other
examples are Elipse SCADA, E3 itself (that can be running on another application
as a client), or even an OPC client from any manufacturer, as long as the client
implements OPC DA 2.0x pattern.

Characteristics
To use E3’ s OPC Server it is not necessary to have any extra configurations; just run
the domain so that any OPC client can communicate with E3. To connect to an OPC
Server of a client’ s E3, all you have to do is select the server identified as
“ Elipse.OPCSvr.1” .
OPC Server allows any client to import easily all tags definition in the domain
(Browse function). Of course, the tags made available are just objects that are part of
the server, that is, Screen items (Viewer) are not accessible through OPC Server.
Because it is based on the same link technology used by internal association among
objects, E3’ s OPC Server allows clients to use tags that are mathematical
expressions, and with transparent connection/disconnection resource during
execution.

Drivers 125
E3 – User’s Manual

Status Information
Through status information (OPC’ s default functionality), the OPC client can
identify if E3’ s server is out of domain, standby, or running normally. OPC status is
displayed like this:
• Domain running normally: OPC_STATUS_RUNNING
• Domain in standby mode: OPC_STATUS_SUSPENDED
• Domain stopped, or no domain: OPC_STATUS_NOCONFIG

Disconnection
For clients that support shutdown mechanism, a warning is always sent whenever
the domain is stopped, or is in standby mode. After that, all OPC clients are
disconnected.

126 Drivers
E3 – User’s Manual

, " $/
OPC Drivers are the modules responsible for data acquisition in external equipment
through the execution of an OPC Server, which can be supplied by any company.
Tags can be imported for the OPC Driver inside E3 (in this case, an OPC client), or
even created from E3.
To use an OPC Driver, follow these procedures:
Right-click the project’ s name, and select the option Insert— OPC
Client Driver.

Picture 86: Inserting OPC Driver

Drivers 127
E3 – User’s Manual

When you insert an OPC Driver into an application at E3 Studio, the object’ s view is
opened, as seen below:

Picture 87: OPC Driver’s view

The available options are:

Available options for OPC Driver’s view


OPTION DESCRIPTION
/!! Adds a new Group to a Driver; a new Tag, Block or
Folder to a Group; or a new Element to a Block.
, : Removes the item selected in the view.
% ' : Selects the OPC Server.
/% : <
! % : Activates/Deactivates driver’ s communication.
% %
# (' Imports tags to the OPC Driver.
) Displays a window with Driver’ s settings.
' :
(% ( Displays the total number of tags in the driver.

128 Drivers
E3 – User’s Manual

," $/ +
The identification of other objects belonging to OPC Driver can be inserted
manually, or then brought automatically from OPC Server. For that, access driver
properties by right-clicking and then choosing OPC Driver tab.

Picture 88: OPC Driver’s configurations

Inform Address and Server ID, and then click [ % .]. The following window is
displayed:

Drivers 129
E3 – User’s Manual

Picture 89: Selecting the OPC Server

The available options for this item are:

Available options for OPC Servers window


OPTION DESCRIPTION
;' ' ! ! ! (' 7 E3 tries to search for driver specifications either
'A % ! !C through standard (OPCENUM) or registry
enumerators.
;' 7 ' ! ! E3 tries to search for driver specifications only
A -; ' : % C through standard enumerator (OPCENUM).
;' 7 (' 7 E3 tries to search for driver specifications only
through registry enumerator.

By clicking [ F], the system shows the data in the driver, indicating paths and
server name. Thus, the system enables Activate Driver and Information.

130 Drivers
E3 – User’s Manual

To activate OPC Driver’ s communication click Activate Driver.

Picture 90: Activating OPC Driver’s communication

Drivers 131
E3 – User’s Manual

When communication is activated, the options Information about Server and


Import Tags are enabled, in addition to Deactivate Driver. To access these options,
just right-click OPC Driver and choose the preferred option.

Picture 91: Options enabled when OPC Driver is active

132 Drivers
E3 – User’s Manual

The option Server Information shows a window with driver configurations.

Picture 92: OPC Server information

Through the option Import tags, it is possible to import tags for the OPC Driver.
When this option is selected, the following message is displayed:

Picture 93: Import OPC Tags message

The following will occur, depending on the chosen option:


• YES: When locating OPC tags, E3 will automatically detect which tags are
block tags and, in this case, what the number of elements is. To do so, E3
needs to read each element’ s value; depending on the server and the number
of tags, this may be a long task.
• NO: E3 will not read OPC tags’ values when locating elements. This
operation is quicker, but it will not create block tags and their elements
automatically.
• CANCEL: Cancels import.

Drivers 133
E3 – User’s Manual

Import OPC tags shows the following resources:

Picture 94: Importing OPC tags

The available options are:

Available options for Import OPC Tags window


OPTION DESCRIPTION
' Filters tags from names of specified items. You can
use wild cards, such as ‘*’ or ‘?’ .
+ 7# Filters tags from data type specified in the field, such
as Integer, Long, Single, etc.
/%% '' 7# Filters tags from access type specified in the field:
Read only, Write only, and Read/Write.
" 7 '" +' Filters tags so that the system only shows the items
! % with IDs not found in the project.
# $%
# $% Shows the objects selected to be added in the current
project.
: Shows the tags available in the server for import.

134 Drivers
E3 – User’s Manual

To import, just select the tag and drag it to an OPC driver or group. To deactivate
OPC driver communication, just click the option Deactivate Driver.
Some OPC driver properties can be configured through Properties List, and there is
no need to create scripts for this. In case you need to configure any property, just
locate it on Properties List and perform the necessary adjustments.
For further information on properties, see Scripts: Reference Manual.

,"! $/ ' +
OPC Tag Groups unite a series of OPC tags that share the same updating
parameters (scan time and deadband). It is necessary to have an OPC Group to
create OPC tags.
To insert an OPC group, follow this procedure:
Right-click OPC Driver and select Insert— OPC Tag Group.

Picture 95: Inserting OPC Tag Group


Drivers 135
E3 – User’s Manual

Some OPC Group properties can be configured through Properties List, and there is
no need to create scripts for this. In case you need to configure any property, just
locate it on Properties List and perform the necessary adjustments.
For further information on properties, see Scripts: Reference Manual.

,"" $/ 4
OPC Folders define groups or subfolders to organize the variables in a better way.
Each OPC Folder can be renamed as needed, and new folders can be inserted inside
others. If an OPC folder is disabled in runtime, all its content is deactivated. To use
this resource, follow this procedure:
Right-click OPC Group and select Insert— New Folder.

Picture 96: New OPC Folder

136 Drivers
E3 – User’s Manual

,", $/ ' +
OPC Tags are objects that read and/or write values in a device. Tag reading is done
automatically by OPC Server, with scan time defined by the OPC Group where it is
inserted. To use this resource, follow these procedures:
Right-click OPC Group and select the option Insert— OPC Tag.

Picture 97: Inserting OPC Tag

Some OPC Tag properties can be configured through Properties List, and there is no
need to create scripts for this. In case you need to configure any property, just locate
it on Properties List and perform the necessary adjustments.
For further information on properties, see Scripts: Reference Manual.

Drivers 137
E3 – User’s Manual

,"- $/ ) *
OPC Blocks allow reading and/or writing of values. For tag writing, all you have to
do is attribute a new value to Value property. Tag reading is done automatically by
OPC Server with scan time defined at OPC Group. To use this resource, follow this
procedure:
Right-click OPC Group and select the option Insert— OPC Block;

Picture 98: Inserting an OPC Block

The system then shows a window to determine the number of block


elements in this object. In this option, it is possible to indicate the mapping
of all elements in the block, or just in a given elements interval;

138 Drivers
E3 – User’s Manual

Picture 99: Configuring the new block

Inform block size and mapping option;


Click [ F];
If necessary, configure object’ s properties.
Some OPC Block properties can be configured through Properties List, and there is
no need to create scripts for this. In case you need to configure any property, just
locate it on Properties List and perform the necessary adjustments. For further
information on properties, see Scripts: Reference Manual.

,"8 $/ ) * (
OPC Block Elements allow reading and/or writing one of the elements of the OPC
Block where it is inserted.
The OPC Block reads a data table, and this object will always be related to the
position defined by its Index property. For example, an OPC Block Element with
Index=5, and inserted into an OPC Block sized 10, whose data are read like the
following

) 5 12 77 55 1 3 42 20 8 89
G! % 0 1 2 3 4 5 6 7 8 9

would have Value=3, according to the table.


NOTE: E3 can create OPC Block elements automatically. For further details, see
item Import Tags, in section OPC Driver’s Settings.

Drivers 139
E3 – User’s Manual

To use this resource, follow this procedure:


Right-click OPC Block and select OPC Block Element.

Picture 100: Inserting OPC Block element

Some OPC Block element properties can be configured through Properties List, and
there is no need to create scripts for this. In case you need to configure any property,
just locate it on Properties List and perform the necessary adjustments.
For further information on properties, see Scripts: Reference Manual.

140 Drivers
E3 – User’s Manual

,, = 1
Quality fields represent the item’ s value quality status. They are formed by a 16-bit
word, and the first 8 bits are defined by three bit fields: Quality, Substatus, and
Limit.
The other 8 bits (of a higher order) are available for each manufacturer’ s use. If
these bits are used, the default quality bits are still used to indicate which deductions
could be made on the returned data. So, it is the client’ s responsibility to interpret
the field of specific information on quality to make sure the server providing this
information uses the same “ rules” as the client.

Quality Field
QUALITY QUALITY FIELD DESCRIPTION
3H Value cannot be used for the
Bad
reasons indicated in substatus.
IH J2K Value’ s quality is uncertain for
Uncertain the reasons indicated in
substatus.
J2LH JMJ (Reserved) Not used in OPC pattern.
JM2H 255 Good Value’ s quality is good.

A server that does not support information on quality always returns 192 (Good). It
is also acceptable that a server simply returns Bad or Good (0 or 192), and always
returns 0 for Substatus and Limit.

Drivers 141
E3 – User’s Manual

,, . 4
This field’ s layout depends on Quality field.

SubStatus for BAD Quality


SUBSTATUS DESCRIPTION LIMIT

High Limited
Low Limited
Not Limited

Constant
- >'#% % The value is bad, but no specific 0 1 2 3
reason is known.
( There is some server specific 4 5 6 7
problem with the configuration. For
example, the item is question has
been deleted from the
configuration.
- % ! The input is required to be logically 8 9 10 11
connected to something but it is
not. This quality may reflect that no
value is available at this time, for
reasons like the value may have not
been provided by the data source.
+ :% 9 A device failure has been detected 12 13 14 15
' 9 A sensor failure had been detected 16 17 18 19
(the ' Limits' field can provide
additional diagnostic information in
some situations.)
' F " Communications have failed. 20 21 22 23
4 However, the last known value is
available. Note that the “ age” of the
value may be determined from the
TIMESTAMP in the
OPCITEMSTATE.
% Communications have failed. 24 25 26 27
9 There is no last known value
available.
:% The block is off scan or otherwise 28 29 30 31
locked This quality is also used
when the active state of the item or
the group containing the item is
InActive.
-<
/ Not used by OPC 32 - 63

142 Drivers
E3 – User’s Manual

SubStatus for UNCERTAIN quality


SUBSTATUS DESCRIPTION LIMIT

Low Limited
Not Limited

Constant
Limited
High
- >'#% % There is no specific reason why the 64 065 066 067
value is uncertain.
' ;' ) Whatever was writing this value 68 069 070 071
4 has stopped doing so. The returned
value should be regarded as “ stale” .
Note that this differs from a BAD
value with Substatus 5 (Last
Known Value). That status is
associated specifically with a
detectable communications error
on a “ fetched” value. This error is
associated with the failure of some
external source to “ put” something
into the value within an acceptable
period of time. Note that the “ age”
of the value can be determined
from the TIMESTAMP in
OPCITEMSTATE.
-<
/ Not used by OPC 72 – 79
' - Either the value has “ pegged” at 80 81 82 83
/%% one of the sensor limits (in which
case the limit field should be set to
1 or 2) or the sensor is otherwise
known to be out of calibration via
some form of internal diagnostics
(in which case the limit field should
be 0).
( ( The returned value is outside the 84 85 86 87
; ' &
% ! ! limits defined for this parameter.
Note that in this case the “ Limits”
field indicates which limit has been
exceeded but does NOT
necessarily imply that the value
cannot move farther out of range.
)>- The value is derived from multiple 88 89 90 91
sources and has less than the
required number of Good sources.
-<
/ Not used by OPC 92 – 127

NOTE: Servers that do not support SubStatus should return 0.

Drivers 143
E3 – User’s Manual

SubStatus for GOOD Quality


SUBSTATUS DESCRIPTION LIMIT

Low Limited
Not Limited

Constant
Limited
High
- >'#% % The value is good. There are no 192 193 194 195
special conditions
-<
/ Not used by OPC 196 – 215
% : ! The value has been Overridden. 216 217 218 219
Typically this is means the input
has been disconnected and a
manually entered value has been
“ forced”
-<
/ Not used by OPC 220 - 255

NOTE: Servers that do not support SubStatus should return 0.

,,! ( 4
Limit field is valid irrespective of Quality and Substatus fields. In some cases, like
in a sensor failure, it can provide diagnosis information.

Limit Field
SPECIFICATIONS DESCRIPTION
- ! The value is free to move up or down
" ! The value has “ pegged” at some lower limit
@( ! The value has “ pegged” at some high limit
' The value is a constant and cannot move

Servers that do not support Limit should return 0.

144 Drivers
- -

Data Server is the module responsible for running or nesting the execution of all
other process variables which are not necessarily communication variables, such as
internal tags, demo tags, or even data structures like the data section in Elipse X
Libraries called XObjects. To use this resource, follow this procedure:
Right-click the project at Organizer, and select Insert— Data Server.

Picture 101: Inserting Data Server

Data Server 145


E3 – User’s Manual

- 4
Data Folder defines groups and subfolders to organize the variables. If necessary,
new folders can be inserted inside other folders.
To use this resource, follow this procedure:
Right-click Data Server and select the option Insert— Panel— Data
Folder.

Picture 102: Inserting Data Folder

-! ( ' +
Demo Tag is an object that generates values according to the wave shape, and is
used for simulating values. It allows generating defined curves or random values,
from the selection of buttons on the Screen.
To use this resource, follow this procedure:
Right-click Data Server and select Insert— Panel— Demo Tag.

146 Data Server


E3 – User’s Manual

Picture 103: Inserting Demo Tag

Some Demo Tag properties can be configured through Properties List, and there is
no need to create scripts for this. In case you need to configure any property, just
locate it on Properties List and perform the necessary adjustments.

-" ' +
Internal Tags are generic purpose objects, used to store values of any type, including
numbers, texts, and even other objects.
To use this object’ s resource, follow this procedure:
Right-click Data Server and select Insert— Panel— Internal Tag.

Data Server 147


E3 – User’s Manual

Picture 104: Inserting Internal Tag

Some Internal Tag properties can be configured through Properties List, and there is
no need to create scripts for this. In case you need to configure any property, just
locate it on Properties List and perform the necessary adjustments.

-, $ '1
Other data types can also be inserted in a Data Server, typically COM objects and
XObjects. Through the last ones, you can instance library data objects, specifying
and/or associating each one of XObject’ s internal variables.
The objects inserted in Data Server are executed by E3 Server, so they are present in
the Server. XControls can refer to XObjects being executed by the Viewer, so they
are in the program; however, they are automatically referred to and manipulated by
the cluster Viewer(s)+Server(s). To insert an XObject in a Data Server, you should
behave the same way as in the aforementioned tags.

-- 7 ' + (
When specifying tag names, some details should be taken into consideration:
• Variable’ s name cannot contain reserved characters, such as [ ], \, /, :, { },
?, “ . These characters are switched for underscore “ _”. So, the system
applies the following rule:

148 Data Server


E3 – User’s Manual

Brackets’ Use
• If the first character is neither a letter nor the underscore symbol, the name
should be between brackets “ [ ]” .
• If any of the following characters (from the second on) is neither a letter,
number nor underscore, the name should also be between brackets.
• Tag name cannot contain logical and arithmetic operators, such as /, ., etc.
• Tag name cannot be strictly numerical.

Data Server 149


8 8 4 (

Screens are windows for monitoring a process, where objects that compose the
operator’ s interface with the system are inserted. Each application can have a
limitless number of screens.
Frames are methods to organize and structure the interface, creating views
composed for the user inside Viewer’ s or Internet Explorer’ s main window.

8
A Screen is the basic entity of the interface with the user, and it can contain several
objects. Graphics inserted in the Screen can be deleted, copied, moved, resized,
grouped, or configured. When you configure Viewer, you can specify a Screen or a
Frame to be viewed when it starts. For that, just define your option in the field
Initial Screen or Frame.

Picture 105: Viewer properties

It is also possible to attribute this function to an object and determine it through a


script.
To insert a new Screen in the project, follow this procedure:
Right-click project’ s name and select the option Insert— Screen. On this
new Screen, you can define properties and other types of graphic objects.
A complete graphic editor for objects that can be inserted on a Screen or Library is
made available through E3 Studio. The following objects are available: Line,
Rectangle, Round Rectangle, Ellipse, Arc, Freehand, Polygon, Curved Polygon,
Picture, Text, Display, SetPoint, Scale, and Forms (CheckBox, RadioButton,
ComboBox, etc).

Screens and Frames 151


E3 – User’s Manual

Picture 106: Screen

You can configure Screen properties to determine size, color and other aspects of
behavior and appearance, besides events (when entering or leaving a Screen).
Screens’ default pattern for size and coordinates is in HIMETRIC units (each unit is
a thousandth centimeter), not in pixels. In this system, whenever you add a positive
value to x, the coordinate will move to the right; and whenever you add a positive
value to y, the coordinate will move down. So, the origin of the movements is on the
upper left side of the Screen.
Screens will only open in Full-Screen mode, occupying the whole area of the Studio.
All Screen properties can be configured through Properties List, and there is no need
to create scripts for this. In case you need to configure any property, just locate it on
Properties List and perform the necessary adjustments.

8 (
Screen components are:

Grid
Grids serve as references to the graphic editor (they do not appear in runtime). They
are made of dots separated by a configurable distance.
With them, the initial coordinates (X, Y) and size (height, width) are the ones that
make possible for the object to be aligned to the grid, both vertically and
horizontally, when inserting, copying or editing objects.

152 Screens and Frames


E3 – User’s Manual

Grids can be withdrawn or inserted through the menu Arrange, or through the icon

on Alignment Toolbar .

Picture 107: Grid

The option Grid enables/disables grid on screen, and the option Edit Grid allows
selecting the grid, determining its style, dimensions, and color. When this option is
selected, the following window is shown:

Picture 108: Grid Properties

Screens and Frames 153


E3 – User’s Manual

The available options are:

Available options for Grid Properties window


OPTION DESCRIPTION
+ ' Grid has dots. When the project is running, the Screen is not
viewed with dots, because this resource is used only to
orientate the objects on Screen.
+ ! ' Grid has dotted lines.
# ( ! Aligns the grid to the mouse automatically.
@ ( Determines grid’ s height.
1! Determines grid’ s width.
Determines grid’ s color.

Zoom
When editing a Screen, you can choose the most appropriate zoom level for this
operation. It is available through Menu— Zoom, with levels ranging from 10 to
800%. You can also automatically adjust width through Fit Width, height through
Fit Height, the whole page (with no alteration in the aspect width x height) through
Fit Page, and the whole page (with alteration) through Fit.

Layers
E3 offers a Screen architecture with up to 32 layers for inserting graphic objects.
Each object can belong in one or more layers, and the Screen activates them both in
configuration (at Studio) and execution (at Viewer); also, no, one, some, or all layers
can be active. This allows the creation of systems with several forms of monitoring
like, for example, viewing a process just with the electric system, just with the
hydraulic system, or with both. Viewer can also control the appearing of layers
depending on a certain level of Zoom.
Layer configuration is done via menu Layers, or by right-clicking on the Screen.
The options are:

Available options for Layers menu


OPTION DESCRIPTION
7 Enables viewing the layer.
/ 7 ' Shows all layers available in the project
- 7 ' No layer is shown.
! 7 ' Configures individual layers. This option opens a
dialog box for configuring the layer.

This configuration can also be done through Properties List, via Layer property. For
an object to be on Screen, Layer property must contain at least 1 bit set in the same

154 Screens and Frames


E3 – User’s Manual

position as the Screen layer. To access this property’ s options, just click on it on
Properties List.

Picture 109: Layer property being configured through Properties List

When Edit Layers option is selected, the following window is shown:

Picture 110: Layers edition

The available options are:

Available options for Layers


OPTION DESCRIPTION
7 Determines layer’ s name
"= Determines the initial percentage of zoom on the layer.
@( = Defines the final percentage of zoom on the layer.
;' :') 7 % ! Enables the use of a special zoom visibility condition
This condition can be a variable or any other property.
6 Establishes a link or property that, once active (different
from 0), also exhibits the layer (the options Zoom and
Source are not exclusive, that is, the layer can be
activated being either condition active).

Screens and Frames 155


E3 – User’s Manual

For further information, see Scripts: Reference Manual.

8! 4 (
Frames are methods to organize and structure project’ s interface, creating composed
views for the user inside Viewer’ s or Internet Explorer’ s main window. Many times,
an application requires only the main Screen, which is the doorway to the
application. From then on, the user can browse other Screens, which will take place
of the first one, unifying the view of the process. However, it is possible to support
more than one view in the same document or the same project. This is useful in the
event of an application using a Screen that never changes (or varies little), like a
menu for example, and another part which is Screen browsing per se.
Frames have subdivisions, called Splitters, which can be inserted in or removed
from the Frame by right-clicking on it. Initially, the Frame has one main Splitter,
which can be further subdivided either horizontally or vertically into more Splitters.
Each Splitter corresponds to the view of one of the process’ s Screen or Frame, or to
a URL (Universal Resource Locator) called Frame.
The support to multiple views is done by creating a Frame in your application,
which initially has just one window configured, called Splitter1. Frames are
considered Screens, for project’ s purposes; and Splitters are sub windows within it.
Since the purpose of using Frames is being able to use more than one window
simultaneously, you will probably have to create two child-Splitters for this main
Splitter.
Frames can be split either vertically or horizontally. You can insert Splitters into
other Splitters to subdivide a window.
To use this resource, follow these procedures:
To insert a Frame, right-click on project name and choose the option
Insert— Frame.
The frame can contain Splitters, which are the connections between the
specified link and the program. To create a Splitter, right-click on an open
frame and choose how you want to split it (vertically or horizontally).

Picture 111: Split horizontal

You can insert as many Splitters as you want on the Frame.

156 Screens and Frames


E3 – User’s Manual

Picture 112: Frame Splitters

To configure Frame Splitters, right-click on a Splitter and select


Properties.

Picture 113: Frame properties

The available options are:

Screens and Frames 157


E3 – User’s Manual

Available options for Frame tab


OPTION DESCRIPTION
6 Determines either Screen path or link to be opened by the Splitter.
This field is equivalent to SplitLink property.
# 7# Determines how the Frame will be split: horizontally, vertically, or
not split. This field is equivalent to SplitType property.
; Determines split unit on the Frame: percentage or pixels.
' Determines splitter position on the Frame. This field is equivalent to
SplitPosition property.
4 Determines the value to be attributed to the Frame. This field is
equivalent to SplitValue.

Some Frame/Splitter properties can be configured via Properties List, with no need
for creating scripts for this. In case you need to configure any property, just locate it
on Properties List and perform the necessary adjustments.
For further information on properties, see “Scripts: Reference Manual”.

158 Screens and Frames


9 9 $.2

A Screen is a window for monitoring a process, where the objects that make up the
interface with the system operator are inserted. Those objects are called Screen
Objects.
Screen objects can be created from the Objects Toolbar, or through the menu
Objects. Once the object to be created is selected, keep the left button pressed on
Screen area, while moving the mouse (a dotted rectangle will show the object’ s size
and format). When the button is released, the object will be placed inside the
specific area.
You can insert the following elements on a Screen:
• Primitive from Graphic Editor (Lines, Circles, Rectangles, Polygons,
etc.);
• ActiveX Controls supplied by Elipse (E3Alarm, E3Chart, E3Browser);
• ActiveX Controls supplied by a third part;
• Non-vectorial images (BMP, JPG, GIF files, etc...)
• Vetorial images (WMF, EMF files, etc)
• Windows default controls (List, Text editor, Selection list, etc.)
• E3’ s graphic library (XControl), made of any of these objects above.
The graphic objects available in the system are listed below.

9
A basic straight object that joins any two points. It can be resized/rotated freely.
After being inserted onto Screen, the object will be named Line.

Picture 114: Line

To use this object, follow these procedures:

Select Line on Screen Toolbar and move it to Screen area.


Draw the line and dropt it.
Screen Objects 159
E3 – User’s Manual

9! +
Draws rectangles, using object’ s height and width.
Created from two vertices, it can be resized/rotated freely.

Picture 115: Rectangle

After being inserted onto Screen, the object will be named Rectangle.
To use this object, follow these procedures:

Select Rectangle on Screen Toolbar and move it to the Screen


area.
When the mouse is on the Screen, a cross appears where the cursor is.
Move it to the selected place, press it, hold the left button, and drag the
mouse diagonally (upwards or downwards).
When the object reaches the appropriate size and position, drop the
button, and the created object will be selected, which you can see through
a selection of the objects edges.

9" +
Rectangle created from two vertices, with the option of round corners, from a round
factor. When inserted or edited, displays a small dot next to the object’ s upper left
side, which allows modifying the rounding factor.

Picture 116: Round rectangle

This object allows drawing rectangles with round corners, resizing the object’ s
height and width. Through this rectangle, you can configure this object from a
rectangle to an ellipse.
160 Screen Objects
E3 – User’s Manual

By clicking this dot, you can drag it to the edges, making it straighter, or to the
center, making it curvier. This is reflected directly in the properties RoundAspectX
and RoundAspectY, which are number from 0 (square rectangle) to 1 (full circle).
To use this object, follow these procedures:

Select Round Rectangle on Screen Toolbar and move it to the


Screen area.
When the mouse is on the Screen, a cross appears where the cursor is.
Move it to the selected place, press it, hold the left button, and drag the
mouse diagonally (upwards or downwards).
When the object reaches the appropriate size and position, drop the
button, and the created object will be selected, which you can see through
a selection of the objects edges.

9,
This object allows drawing circles and ellipses. It can be resized/rotated freely.

Picture 117: Elipse

Created from a defined area, it has all the general properties.


After being inserted onto Screen, the object will be named Circle.
To use this object, follow these procedures:

Select Ellipse on Screen Toolbar and move it to the Screen area.


When the mouse is on the Screen, a cross appears where the cursor is.
Move it to the selected place, press it, hold the left button, and drag the
mouse diagonally (upwards or downwards).
When the object reaches the appropriate size and position, drop the
button, and the created object will be selected, which you can see through
a selection of the objects edges.

Screen Objects 161


E3 – User’s Manual

9-
This object allows drawing pie-shaped objects and similar. When inserted onto
Screen, the object shows two dots that indicate the opening of the pie
(ArcBeginAngle and ArcEndAngle properties, shown in degrees from 0 to 360).
Using properties for filling and borders, you can better customize the object’ s
appearance. By modifying the angles in ArcBeginAngle and ArcEndAngle properties
you can alter the beginning and the end of the arc.

Picture 118: Ellipse Arc

This object can be resized/rotated freely. After being inserted onto the Screen, the
object will be named Arc. To use this resource, follow these procedures:

Select Arc on Screen Toolbar and move it to the Screen area.


When the mouse is on Screen, a cross appears where the cursor is.
Move it to the selected place, press it, hold the left button, and drag the
mouse diagonally (upwards or downwards).
When the object reaches the appropriate size and position, drop the
button, and the created object will be selected, which you can see through
a selection of the objects edges.
If necessary, configure object’ s properties by right-clicking it and
selecting the option Properties.

98 4
Creates irregular areas. To define the object’ s vertices, keep the button pressed,
while you drag the mouse over to the Screen. All the paths covered by mouse cursor
will be created as a part of the object.

Picture 119: Freehand

162 Screen Objects


E3 – User’s Manual

This object can be resized/rotated freely. After being inserted onto Screen, the object
will be named Line.
To use this resource, follow these procedures:

Select Freehand on Screen Toolbar and move it to the Screen


area.
When the mouse is on Screen, a cross appears where the cursor is.
Move it to the selected place, press it, hold the left button, and drag the
mouse diagonally (upwards or downwards).
When the object reaches the appropriate size and position, drop the
button, and the created object will be selected, which you can see through
a selection of the objects edges.
If necessary, configure object’ s properties by right-clicking it and
selecting the option Properties.

9 9 / 1+
Used to draw straight-sized polygons.
This object can be resized/rotated freely. After being inserted onto Screen, the object
will be named Line.

Picture 120: Polygon

To use this object, follow these procedures:

Select Polygon on Screen Toolbar and move it to the Screen


area.
Each click on Screen area defines one of the object’ s vertices. When
you want to interrupt the drawing, just double-click the last vertex, and the
object will appear selected.
To delete points in a polygon, you must select the polygon, right-click
it, and choose the option Edit Points. Then, just select the point you want
to delete by clicking on the mouse and pressing the key [ ].

Screen Objects 163


E3 – User’s Manual

9: / 1+
Used to draw in a manner similar to the polygon, but at each point inserted the
object will create curves that go through every point created. This object allows
drawing Bezier curves through reference points, always connecting the initial to the
final point. After being inserted on Screen, the object will be named Bezier.

Picture 121: Curved Polygon

To use this object, follow these procedures:

Select Curved Polygon on Screen Toolbar and move it to the


Screen area.
Draw the polygon and double-click to finish the object.
To delete points in a polygon, you must select the polygon, right-click
it, and choose the option Edit Points. Then, just select the point you want
to delete by clicking on the mouse and pressing the key [ ].

9; /
This object allows showing pictures saved in files, be they inside or outside the
application file.
The picture can be resized freely, but rotation is only effective when you work with
a metafile converted to symbol. After being inserted onto Screen, the object will be
named Picture.

Picture 122: Picture

164 Screen Objects


E3 – User’s Manual

It is more interesting to work with metafiles (.wmf extension), where it is possible to


animate filling and border colors without having to alter the original file.
The following file formats are supported:

Supported file formats


EXTENSION DESCRIPTION
Bitmap file
9 Graphics Interchange Format
N Join Picture Expert Group
Icon File
1 9 Microsoft Windows Metafile
9 Microsoft Windows Enchanced Metafile

To use this object, follow these procedures:

Select Picture on Screen Toolbar and move it to the Screen


area.
When the mouse is on the Screen, a cross appears where the cursor is.
Move it to the selected place, press it, hold the left button, and drag the
mouse diagonally (upwards or downwards).
When the object reaches the appropriate size and position, drop the
button, and the created object will be selected, which you can see through
a selection of the objects edges.
The system will then open a box for picture selection in the file.

Screen Objects 165


E3 – User’s Manual

Picture 123: Picture selection in the file

Select the place and click Open, to insert the picture onto Screen.
If necessary, configure the object’ s properties.

9 < '
Creates texts. When you define the area on Screen, you can type the text directly in
there. This text also accepts multiple lines.

Picture 124: Text

To use this object, follow these procedures:

Select Text on Screen Toolbar and move it to the Screen area.


Type the text and press Enter.

166 Screen Objects


E3 – User’s Manual

In case you want to alter or type contents in this object, use Value
property.

9 1
Used to display tag values in real time. Its properties allow defining size, color, font,
alignment, 3D effect, etc.

Picture 125: Display

This object can be resized/rotated freely. After being inserted onto Screen, the object
will be named Text.
To use this object, follow these procedures:
Select Display on Screen Toolbar and move it to the Screen area.
Associate the tag by right-clicking the object and selecting Properties,
or through the menu Properties.

9 ! /
This object works with an edition box in which contents are inserted to be attributed
to associated tags. So, just type a value and press Enter, to attribute this value to the
associated tag. SetPoint properties allow you to define the type of input value, font,
size, and color of the characters displayed in the object.

Picture 126: SetPoint

To use this object, follow these procedures:

Select SetPoint on Screen Toolbar and move it to the Screen


area.
Associate the tag by right-clicking the object and selecting Properties,
or through the menu Properties.

Screen Objects 167


E3 – User’s Manual

9 "
This object allows drawing rulers and value scales. Through its divisions and
subdivisions, determined in Ticks and MinorTicks properties, the information for
configuring the object is specified.

Picture 127: Scale

This object can be resized/rotated freely. After being inserted onto Screen, it will be
named Scale. To use this object, follow these procedures:

Select Scale on Screen Toolbar and move it to the Screen area.


When the mouse is on Screen, a cross appears where the cursor is.
Move it to the selected place, press it, hold the left button, and drag the
mouse diagonally (upwards or downwards).
When the object reaches the appropriate size and position, drop the
button, and the created object will be selected, which you can see through
a selection of the objects edges.
You can alter the minimum and maximum values of the scale through
MinimumValue and MaximumValue properties, respectively. If necessary,
configure object’ s properties.

9 , 7+
Objects’ general configuration can be accessed when you right-click the object. The
available options are:

9 , *
When this option is selected, Studio will not allow the object to be moved, thereby
avoiding any unwanted movements. After the object is locked, the mouse will
exhibit a locker with the cursor when it slides over the work area.
To enable this option, right-click the object and choose Lock.

168 Screen Objects


E3 – User’s Manual

Picture 128: Locked object

To disable this property, right-click the object again and select Unlock.

9 ,! /
Defines the coordinates (x, y) that mark the initial spot in the object.
To enable this option, right-click the object and select the option Define Anchor
Point. The symbol will appear next to the object, from where it can be moved to
any place on the Screen. When you drag the object with the new anchor, the point
defined will be fixed on the grid’ s points, and the object will be displaced with the
same proportions in relation to the anchor.

Picture 129: Object with anchor

9 ," 7 1
Applies the definitions of the object being edited as default style for the next objects
to use the function Apply Style. This style includes foreground, background and
border colors, line border, and border and gradient style.

9 ,, 1 1
Applies the style definitions previously defined by the option Set Default Style.
This style includes foreground, background and border colors, line border, and
border and gradient style.

9 ,- > 1> /
Copy, Cut and Paste are object editing basic actions. You can do these through the
following methods:

Screen Objects 169


E3 – User’s Manual

• To copy Screen Objects or E3 components, press the [Ctrl] key while you
drag the item to the screen area or to the Organizer (in case of a E3
component).

• You can use these buttons: (Copy), (Cut), and (paste) from
the Tool Bar.
• You can use shortcut keys Ctrl+C, Ctrl+X, Ctrl+V to Copy, Cut and
Paste, respectively
In the procedures above, select first the object or component you want to apply the
action. Choose Copy or Cut. Point to the destination. Choose Paste.
Notice that:
• If the destination is the Organizer, it will be created a new "child" object.
• If the destination is the object settings windows, it will be created a new
object that the "parent" is the same of the destination object.

9 ,8
Removes the object from the Screen. It can also be performed by selecting the object
and pressing Delete.

9 ,9 /
Opens a interface window for the object’ s general and specific (if it is the case)
properties edition. To access this item, right-click the object and select Properties.

Picture 130: Properties

170 Screen Objects


E3 – User’s Manual

9 ,: +
Sliding is a resource from E3 which allows moving an object in an easier and more
practical way. This resource is available on Screen Toolbar.

Picture 131: Screen Toolbar with animation options

The types of sliding available in the system are:

! : The object receiving this resource slides linearly according to


the properties configurations in the object. To enable this option, just select the
object on Screen and click the button Linear Slider. Mouse cursor will enable
object orientation’ s configurations.

Picture 132: Linear Sliding

It is also possible to configure this resource’ s properties via scripts or Properties


List.

, ! : The object receiving this resource slides rotationally


according to the properties configurations in the object. The object’ s rotation is
related to two of its properties: rotation center, and angle. When you create an
object, its default rotation center is defined with the center of the object, and it
inclines 0 degree from the horizontal position according to this center. When you
select Rotation Slider on Screen Toolbar, you can alter both rotation center as well
as the angle itself. Then, mouse cursor assumes a certain shape, and the selected
object has its vertices indicated by small circles and its center by two circumscribed
circles. When you slide the mouse over the center or vertices, the mouse cursor
becomes a circle e we can modify the center by dragging it, or even by rotating the
object from one of its vertices in relation to the center.

Screen Objects 171


E3 – User’s Manual

Picture 133: Rotation Slider

Rotation angle can be seen through Angle property in each object. It is worth
noticing that some ActiveX objects do not allow rotation.

9 ,; $ 1 + $.2
When you have two or more objects on Screen, and a certain part of one of them has
to be in top of the other, you can adjust their disposition through the buttons:

Bring to front: The selected object is brought to the first position in the
overlaying order.

Send to back: The selected object is sent to the last position in the overlaying
order.

Bring forward: The selected object occupies the position immediately above
the next object in the overlaying order.

Send backward: The selected object occupies the position immediately below
the next object in the overlaying order.
This option can be accessed through Screen Toolbar.

9 , < ) & ( + .2
Whenever you insert a series of objects on Screen, it is possible to browse from one
object to another, like two SetPoints for example, by using Tab key. This order is
created through the option Tab Order . To use this resource, create objects on
Screen and select Tab Order . Then, the mouse assumes a cursor similar to the
option icon. Click the objects according to the order you want. The order number
will appear on the objects.

172 Screen Objects


E3 – User’s Manual

Picture 134: Find

When the project is compiled, the browsing among these objects (be they mouse
objects or keyboard objects) will occur according to the specified order.

9 , + .2

To select objects contained within a certain area, use the selecting tool . With it,
you can select objects inside a rectangle limited by the mouse.

9 , ! + .2 ++ .2
When you select a group of objects, you can transform them into just one, through
the option Group. With this option, you will form a single object displaying
common properties such as height, width, angle, etc., and not individually for each
component; and you can copy, drag, and delete a group, and its content will be
treated as if it were a single object.
To use this resource, follow these procedures:
Select the objects to form the group.

Click Group .
This resource allows the selected objects to become a group, and thus you can
change all its configurations. When you apply this resource, the system gives you
access to the group’ s specific properties. To configure them, follow this procedure:
After creating a group, either double-click or right-click the object and
select the option Properties.
This operations can be done in cascade, and a group can contain any object,
including other groups. To undo a group of objects, select the option Ungroup.

Screen Objects 173


E3 – User’s Manual

However, to edit an object contained in a group there is no need to ungroup it. Just
choose the option Edit Group, available by right-clicking the object, that you will
have access to each individual component in the group.

9 , " + ? 1
To move an object with the keyboard, you can also use directional keys, as follows:
• Arrow up: moves the object 1 pixel up.
• Arrow down: moves the object 1 pixel down.
• Arrow to the right: moves the object 1 pixel to the right.
• Arrow to the left: moves the object 1 pixel to the left.
• Arrow + Control: moves the object 10 pixels farther.

9 , , 71 + $.2 1
To modify layers in any object, just select it and click Layers on Properties List, or
right-click the object and select Layers whenever they are available.

9 , - &
Graphic objects can have an automatic shade effect through Shadow Toolbar,
which enables/disables object shadow. Setting this property to True, the object will
show a shadow with the same fill, background, and border styles, but with
ShadowColor property the object’ s shadow fill color is specified.

Picture 135: Shade options

When properties are applied to a group of objects, first the shadows of child-objects
in the group are drawn, and after that the objects are drawn. When you chose this
option, a second object, identical to the first one, is added, but it is slightly displaced
and on the background, creating a shadow effect.
Through the options Move Shadow Up, Move Shadow Down, Move Shadow
Right and Move Shadow Left you can modify shadow position.
Each object’ s Shadow property indicates whether it has or not shadow effect, and it
is equivalent to Object Shadow button position on the toolbar, just as the position
options that modify the properties ShadowX and ShadowY, in HIMETRIC units
(1/1,000 mm). Shadow color can be altered through the option Shadow Color, or
through ShadowColor property on Properties List.

174 Screen Objects


E3 – User’s Manual

To use shadow resources, follow these procedures:


Insert or select the object you want to apply the shadow. You can alter
its properties through shortcut bar or property box.
Then, click the option shadow on Toolbar or through its properties.
Set the properties according to the preferred option.
You can apply object’ s properties through the system’ s shortcut bar.

Available options for Shadow menu


OPTION DESCRIPTION
Enables/disables object’ s shadow

Places the shadow under the object.


Places the shadow above the object.
Places the shadow left to the object.

Places the shadow right to the object.

Sets or returns the integer for this object’ s shadow color.

To withdraw shadow effect, just select the object and access the icon shadow on
Toolbar.

Screen Objects 175


E3 – User’s Manual

9 , 8 4 +
Each graphic object can have its content filled according to the options available in
FillStyle property, from Properties List. They are:

Available options for Filling


OPTION DESCRIPTION

Solid: Object’ s color is the same as ForegroundColor


property. Default option.

Hollow: The object is transparent, leaving only the


border visible (when there is one). With this option,
the object has no content.
Horizontal: Filled with horizontal stripes,
interpolated with the option chosen for the
background (Opaque or Transparent).

Vertical: Filled with vertical stripes, interpolated with


the option chosen for the background (Opaque or
Transparent).

Downward: Filled with downward diagonal stripes,


interpolated with the option chosen for the
background (Opaque or Transparent).

Upward: Filled with upward diagonal stripes,


interpolated with the option chosen for the
background (Opaque or Transparent).

Cross: Filled with crossed stripes, interpolated with


the option chosen for the background (Opaque or
Transparent).

DiagonalCross: Filled with diagonal crossed stripes,


interpolated with the option chosen for the
background (Opaque or Transparent).
SemiTransparent: In this option, the object is
partially solid, that is, the background appears
depending on the option chosen for it (Opaque or
Transparent).

176 Screen Objects


E3 – User’s Manual

9 , 9 1
In this option, the background is a transition (or gradient) from the color in
ForegroundColor to the one in BackgroundColor. Transition effect is determined by
GradientStyle property, available on Properties List, or by the option Gradient Style
on Toolbar.

Picture 136: Gradient Effect

Screen Objects 177


E3 – User’s Manual

The available filling options are:

Available options for Gradient Filling


OPÇÃO DESCRIÇÃO

0- LeftToRight: Vertical gradient from left to right..

1- RightToLeft: Vertical gradient from right to left.

2- VerFromCenter: Vertical gradient from center to edges.

3- VerToCenter: Vertical gradient from edges to center.

4- BottomUp: Horizontal gradient bottom up.

5- TopDown: Horizontal gradient top down.

6- HorzFromCenter: Horizontal gradient from center to


edges.

7- HorzToCenter: Horizontal gradient from edges to


center.

8- DiagUpRight: Upward diagonal gradient with


foreground color to the right.

9- DiagUpLeft: Upward diagonal gradient with foreground


color to the left

10- DiagUpFromCenter: Upward diagonal gradient from


center to edges.

178 Screen Objects


E3 – User’s Manual

11- DiagUpToCenter: Upward diagonal gradient from


edges to center.

12- DiagDownLeft: Downward diagonal gradient with


foreground color to the left

13- DiagDownRight: Downward diagonal gradient with


foreground color to the right

14- DiagDownFromCenter: Downward diagonal gradient


from center to edges.

15- DiagDownToCenter: Downward diagonal gradient


from edges to center.

16- SpotSouthEast: Gradient with foreground spot from


Southeast.

17- SpotSouthWest: Gradient with foreground spot from


Southwest

18- SpotNorthWest: Gradient with foreground spot from


Northwest.

19- SpotNorthEast: Gradient with foreground spot from


Northeast.

20- SpotFromCenter: Gradient with foreground spot from


center to edges.

21- SpotToCenter: Gradient with foreground spot from


edges to center.

Screen Objects 179


E3 – User’s Manual

9 , : ) *+ 1
Indicates how the object will exhibit its second option of color (background color).
This can be informed by the option Gradient Style on Drawing Toolbar, or through
Properties List. The options are Opaque, indicating solid colors, or Transparent,
indicating transparency in the background.

Picture 137: Drawing options

9 , ;)
Indicates how the object will show its edges. We can define border color through the
option Border Color on Drawing Toolbar, or through BorderColor property on
Properties List.

Picture 138: Border Styles

You can also choose border styles through the option Border Style, or even through
BorderStyle property on Properties List. Also, border width can be chosen through
the option Border Thickness or through BorderWidth property. Those properties are
displayed in HIMETRIC units.

180 Screen Objects


E3 – User’s Manual

9 , !< 0 6 % / 4 +
This option is very useful whenever you want to represent any kind of recipient
(tanks, vessels, reservoirs, etc) with material level. Any object can be filled both
horizontally and vertically by the foreground color in relation to the background
color.
This option can be adjusted through its properties, accessed via Properties List or via
scripts.

9 ,! 4 ( +
In all color properties at E3 it is possible to specify the color you want by clicking
the field Value on Properties List, or other windows where you can choose colors.

Picture 139: Colors

Default tab allows you to choose from default colors in the system, including shades
of gray.
The button [ ] allows you to select a color from any part of the screen, whether
from inside or outside E3 Studio. Just click on the button, and then click on the color
you want; it will capture the color to your colors window.

Screen Objects 181


E3 – User’s Manual

Picture 140: Customized color

Customized tab, on the other hand, allows you to define your own colors. The color
can be chosen when you browse mouse cursor over the color map. The fields below
will reflect the color properties of the point where the mouse is. These properties can
also be edited with the keyboard. There are two methodologies for determining
colors: RGB (Red, Green, Blue) for primary colors; and through the definition of
hue, saturation, and luminosity. All properties range from 0 to 255.
• Red: indicates the amount of red in color composition;
• Green: indicates the amount of green in color composition;
• Blue: indicates the amount of blue in color composition.

Each color ranges in intensity from 0 to 255. Final value is obtained according to
this formula:
Blue * 256^2 + green * 256^1 + red * 256^0

that is
Blue * 65536 + green * 256 + red * 1

blue, red and green’ s values range from 0 a 255.

182 Screen Objects


E3 – User’s Manual

For example:
• Black = 0
• White = 16777215
• Red = 255
• Green = 65280
• Blue = 16711680
To make color choice easier, use ShowPickColor() method, which calls a dialog
with system’ s color scale, and returns color value in a figure with decimal places.
For color configuration through hue, saturation and luminosity, use these items:
• Hue: especifies color hue;
• Sat: especifies color saturation;
• Lum: specifies color luminosity, which can also be edited in the slider on
the right side of color map.

9 - % 4 ( +
The use of formatters allows you to change how data is displayed without having to
change the value behind them. Formats are texts that can be edited manually, or
configured via formatting window. Their use is similar to the formatters used in
spreadsheets, following the same basic syntax, but with some extensions. The
following datatypes are supported:
• Numerical (decimal, scientific, hexadecimal, binary, and octal output)
• Text
• Booleans
• Date and Hour (Gregorian calendar)
In some objects you will find the option for field formatting, accessed via object
properties menu or via Properties List, in Format property.

9 - / # 7 4 ( +
The following formatting categories are available:

Screen Objects 183


E3 – User’s Manual

General
There is no specific formatting. It is performed automatically depending on datatype.

Picture 141: Formatting window, option General

Number
Presents integers and fractions, allowing you to define the number of decimal places
and the use of commas to separate thousands. For numbers that are either too big or
too small, use Scientific format. The symbols are the ones defined at Windows—
Control Panel— Regional Configuration.

Picture 142: Formatting window, option Number

184 Screen Objects


E3 – User’s Manual

Date
Presents numerical values (Gregorian format) for date and time, when they are valid.
Use Date format to present only date.

Picture 143: Formatting window, option Date

Time
Presents numerical values (Gregorian format) for date and time, when they are valid.
Use Time format to present only time.

Screen Objects 185


E3 – User’s Manual

Picture 144: Formatting window, option Time

Percent
Multiplies the number by 100 and adds the percent symbol to it, defining the number
of decimal places as well.

Picture 145: Formatting window, option Percent

186 Screen Objects


E3 – User’s Manual

Scientific
This format presents a number with mantissa and exponent, ideal for numbers of
different magnitude, allowing you to choose the number of decimal places and
formats.

Picture 146: Formatting window, option Scientific

Special
Allows formatting integers in non-decimal bases (hexadecimal, octal, and binary).

Picture 147: Formatting window, option Special

Screen Objects 187


E3 – User’s Manual

9 -! $ 4 ( +
In the option Other, you can create any types of formatting, even one of the above,
from typing a format code (text).
The formatter text is made of up to four fields separated by a semi-colon (;). The
first field is always applied when there is no other field more appropriated for the
value or data type.
The second field is used for negative numerical values. The third field is used
whenever the numerical value is zero. The fourth field is used for text values.
Whenever more than one field is defined, the previous field is considered, even if it
is empty. In the event of a empty field formatter, the formatted value will always be
an empty text. Notice how this differs from General formatting, which is just an
empty format, without field separators (;).

Picture 148: Formatting window, option Other

9 -" '
To insert characters that will be shown by the formatter you can show them between
quotes (“ ) or after a slash (\):

Text Input
FORMATTER FORMATTED OUTPUT
O
3PEQ 0#?
R R!R7 mdy

188 Screen Objects


E3 – User’s Manual

This is valid for all types of formatters. Besides, you can create formatters which
contain only text. It is also possible to arrange this with the use of different fields.
Example:

Formatter and Formatted Output


VALUE FORMATTER FORMATTED
OUTPUT
J “ Positive” ;” Negative” ;” Zero” ,” Text” Positive
>J “ Positive” ;” Negative” ;” Zero” ,” Text” Negative
3 “ Positive” ;” Negative” ;” Zero” ,” Text” Zero
O
/)%!Q “ Positive” ;” Negative” ;” Zero” ,” Text” Text

Besides, the following characters can be displayed directly without the need for
quotes or slashes: $ - + / () : ! ^ & '(simple quote to the left) '(simple quote to the
right) ~ { } = < >
OBS: To display a slash (\) or double quotes (“ ) in the formatted data, use \\” and \.
When the text is between quotes it is copied directly, so “ \a” is displayed simply as
\a/.

9 -, ( 4 (
Numerical formatters accept three basic types of characters to define the number of
added digits:

Numerical Formatters
OPTION DESCRIPTION
3 A8 C Inserts the significant digit, or 0 when there is none.
P Inserts the significant digit.
E Inserts the significant digit, or a blank space when there is none.

When you define how the number is to be presented you use a model like, for
example, 9,999.99. In this example, the comma separates the thousand, and the point
separates the decimal places. This is the American standard numerical pattern, and
this is the model to be followed when defining the model. When the application is
executed on E3, however, the regional configurations will be applied, among which
there are the numerical separators.

Screen Objects 189


E3 – User’s Manual

Available options
DATA FORMATTER FORMATTED OUTPUT
J2333 #, 12
J2I5K #,#,0 1,234,567.0
J >23 #e-0... 1 e 20
J 23 #,###e-0 1,000e+17

9 -- 7 4 (
The number can be presented in scientific notation (mantissa and exponent) when
after any digit there is E+, E-, e-, or e+, followed by digits to format the exponent.
When E+ or e+ is used, the exponent is displayed with a sign; and when E- or e- is
used, the sign will appear just for negative exponents, and the exponent will always
display a digit, even if it is zero. The number of digits right to the decimal point
affects the exponent displayed.

Scientific Formatter
DATA FORMATTER FORMATED OUTPUT
J3 #,#E+# 1.E+0
J2 ####e-00 1230 e-01

9 -8 ' 4 (
The character @ copies data value in the position where it appears. This formatter
should appear in the fourth field (example: ;;;@), or directly when there is only one
field.

Text Formatter
ICON COMMAND ACTION
O
/)%Q @@ Abc Abc
O
&7=Q “ Nome: ” \ ” @ \ ” Nome: “ xyZ”

9 -9 4 ( 7 # ( )
Formatters for non-decimal bases always present just the whole part of the formatted
numerical value, and are also not sensitive to mathematical signs. Just like with
decimal bases, in case the number has more digits than required in the formatter,
these digits will be presented anyway.
Currently, these formatters are limited to 32-bit numbers.
In case the value’ s whole part exceeds this limit, the formatting will return an error.

190 Screen Objects


E3 – User’s Manual

Formatters for Non-Decimal Bases


OPTION DESCRIPTION
0 & Inserts either a hexadecimal digit (hibble 0-9, A-Z) or a zero.
) Inserts either a binary digit (bit 0,1) or a zero.
Inserts either an octal digit (0-7) or a zero.

Formatters for Non-Decimal Bases


DATA FORMATTER FORMATTED OUTPUT
255 “ 0x” XXX 0 x 0 FF
J2I5 0000\o 30071
MLK B 1111011011
J2 BBBB – BBBB 0000-1100

OBS: This type of formatter is not supported in spreadsheet programs.

9 -: 50 4 (
Date/hour formatting’ s syntax differs a little from the system used by spreadsheets,
following the mode used by Windows regional configuration. Dates are numerical
values where the whole part represents the days since December 31st 1899, and the
fraction represent the hours in day fractions.
The minimum year supported is 100, and the maximum is 9999. This guarantees a
resolution of at least 1 ms the whole interval. Names of months and days of the
week, default date ordering (month, day, year), and date/hour separators are all used
according to Windows regional configuration. Below, it is possible to check the
formatter and its formatted output for values:

Screen Objects 191


E3 – User’s Manual

Formats for Date-Hour


OPTION DESCRIPTION
@ Inserts hour in the 24-hour format with one or two digits. (0-23).
@@ Inserts hour in the 24-hour format always with two digits. (0-23)
@ Inserts hour in the 12-hour format with one or two digits. (1-12).
@ Inserts hour in the 12-hour format always with two digits. (1-12)
Inserts minutes with one or two digits (0-59).
Inserts minutes always with two digits (00-59).
Inserts seconds with one or two digits (0-59).
' Inserts seconds always with two digits (00-59).
'3 Inserts tenth seconds.
' 33 Inserts hundreth seconds.
' 333 Inserts thousandth seconds.
Inserts just the first character of the AM/PM indicator (A/P)
Inserts both characters of the AM/PM indicator.
A C Inserts elapsed time in hours, with one or more digits.
A C Inserts elapsed time in minutes, with two or more digits.
A'C Inserts elapsed time in seconds, with one or more digits.
A''C Inserts elapsed time in milliseconds, with two or more digits.
A!C Inserts elapsed time in days, with two or more digits.
+ Inserts the day of the month in two or more digits (0-31).
+! Inserts the day of the month always in two or more digits.
+!!! Inserts the day of the week in an abbreviated form.
Inserts the day of the week in an complete form.

Examples
DATA FORMATTER FORMATTED OUTPUT
J5 JLMM<
J2<J 12:00:00
J2I5KLM +!< <
7777 18/may/1903
3 5KLM @ * *
'' 333 01:37:45.696 PM
J2 I5KL R R '' 333R' 296 h17 m46.667 s

192 Screen Objects


: : @

ActiveX are COM (Component Object Model)-based software components that can
be inserted into your application to perform innumerable tasks. These objects are
developed in programming environment such as C/C++, Delphi, and Visual Basic,
among others. They can be either graphic objects, used on your application’ s
Screens, or non-graphic objects, performing some kind of data manipulation.

: + + @ "
When you install E3, some ActiveX are automatically registered. They are:
E3Alarm, E3Browser, and E3Chart (developed by Elipse Software); Microsoft
Forms (developed by Microsoft); and ActiveReports (developed Data Dynamics).
NOTE: E3Alarm, E3Browser, E3Chart, and ActiveReports have specific chapters
further in this Manual.
Apart from these, you can insert other ActiveX as necessary. To do so, follow these
procedures:
Access the menu Tools— Add Active X… . The system then shows a
dialog box like in the picture below:

Screen Objects 193


E3 – User’s Manual

Picture 149: Registering an ActiveX at E3.

Click on the button [, ( ' ]. The system then opens a dialog box for
locating the file where the ActiveX is.

Picture 150: Locating an ActiveX file.

194 Screen Objects


E3 – User’s Manual

Select the file and click on the button [ # ]. If the operation is


successful, a confirmation message for E3 registration is then displayed,
according to the picture below:

Picture 151: Successful registration message.

Otherwise, an error message is displayed, informing you that ActiveX


registration was not performed, as seen below:

Picture 152: Registration error message.

:! + @ .2 "
Graphic objects can be inserted into the application by right-clicking on the Screen.
Some of them may also be inserted through Objects Toolbar, such as E3Alarm,
E3Browser, E3Chart, and Microsoft Forms.

Screen Objects 195


E3 – User’s Manual

Picture 153: Objects Toolbar and ActiveX access via right-clicking the Screen

Non-graphic objects can be inserted into the application by right-clicking on the


Data Server.

Picture 154: Inserting a non-graphic object into Data Server

196 Screen Objects


E3 – User’s Manual

:" 74 (
In this section, some objects from Microsoft Forms library will be discussed in more
details.

:" *)
A Check Box gives the user the possibility to choose between two values such as
Yes/No, True/False, or On/Off. When the user selects a check box, there is a check
mark ( ) in it, and its current configuration is Yes, True, or On. If the user does not
select the check box, it will remain empty, and its value will be No, False, or Off.
Depending on the value of TripleState property, a check box may be null.

Picture 155: Check Box

If the check box is linked to a data source, any alteration in configuration will alter
the source’ s value. A disabled check box shows the current value, but it gets faded
and does not allow value alteration.
Default property is Value. Default event is OnClick.
NOTE: The object List Box also allows you to insert a check mark for selected
options. Depending on the application, you can use one List Box instead of several
Check Boxes.
To use this object, follow these procedures:
Insert the Check Box onto the Screen with Objects Toolbar.
If necessary, configure object’ s properties.

:"! $ )
An Option Button shows whether a single item from a group is selected. If an
Option Button is associated to a data source, it can show the data source’ s value as
Yes/No, True/False, or On/Off. If the user selects the Option Button, the value will
be Yes, True, or On. Otherwise, the value will be No, False, or Off.

Picture 156: Option Button

Whenever an Option Button is disabled, it gets faded and shows no value.


Default property is Value. Default event is OnClick.

Screen Objects 197


E3 – User’s Manual

To use this object, follow these procedures:


Insert the Option Button onto the Screen with Objects Toolbar.
If necessary, configure object’ s properties.

:"" (. )
Combines the characteristics of a List Box with the characteristics of a Text Box.
The user can type a new value, just like in a Text Box, or select an existent value,
like from a List Box.
The items in a Combo Box consist of data lines. Each line can have one or more
columns, with or without a title. Some applications do not offer support to column
titles; others just offer limited support.

Picture 157: Combo Box

Default property is Value. Default event is OnClick.


To use this object, follow these procedures:
Insert the Combo Box onto the Screen with Objects Toolbar.
If necessary, configure object’ s properties.

:", (( )
Runs a specific action when pressed. The script procedure attributed to Button’ s
Click event determines its action. For example, you can create a Button that opens a
dialog box. You can also show a text, a drawing, or both with a Command Button.

Picture 158: Command button

Default property is Value. Default event is OnClick.


To use this object, follow these procedures:
Insert the Command Button onto the Screen with Objects Toolbar.
If necessary, configure object’ s properties.

198 Screen Objects


E3 – User’s Manual

:"- .
Labels show descriptive texts, such as titles, texts in general, or quick instructions.
For example, you can create the titles of an address catalog with Labels, to which
you would attribute names, streets, or cities.

Picture 159: Label

NOTE: It is also possible to display a picture in a Label. However, you cannot cut
it, resize it, or zoom it.
Default property is Caption. Default event is Click.
To use this object, follow these procedures:
Insert the Label onto the Screen with Objects Toolbar.
If necessary, configure object’ s properties.

:"8 )
Exisbits a list of values, either determined by the user or linked to a data source.

Picture 160: List Box

Default property is Value. Default event is Click.


To use this object, follow these procedures:
Insert the List Box onto the Screen with Objects Toolbar.
If necessary, configure object’ s properties.

List Box Styles


It is possible to choose from two appearance styles for a List Box. Each style allows
the user to select items from the list in different ways. Choose this style on ListStyle
property.
If the style selected is Plain, each item will be exhibited on a separate line; the user
then selects an item by highlighting one or more lines.

Screen Objects 199


E3 – User’s Manual

If the style selected is Option, either an Option Button or a Check Box will appear
at the beginning of each line. With this style, the user can select an item by clicking
on the Option Button or the Check Box. Check Boxes only appear when MultiSelect
property is set to J> % .

:"9 .
Scrollbars are independent controls returning or defining another object’ s property
value, according to cursor position. Scrollbar is a stand-alone control that you can
insert onto a Screen. It looks like the scrollbars seen in certain objects like Combo
Boxes, Text Boxes, among others. However, unlike the scrollbars in these examples,
the independent Scrollbar is not a part of any other object.

Picture 161: Scrollbar

To make a Scrollbar define another object’ s value, you can write a script using
Value property. For example, to use the Scrollbar to update the value of a Text Box,
you can type a script reading Scrollbar’ s Value property, and then set the Text Box’ s
Value property.
Default property is Value. Default event is Change.
To use this object, follow these procedures:
Insert the Scrollbar onto the Screen with Objects Toolbar.
If necessary, configure object’ s properties.

:": )
Spin buttons are used to spin numbers up and down. When you click on a Spin
Button, only the value of this button is changed.
You can write a script using the Spin Button to update another object’ s displayed
value (for example, to change month, day, or year displayed in a certain date). You
can also use a Spin Button to browse a values interval or an items list, or then to
alter the value displayed in a Text Box. To show an updated value in the Spin
Button, you can attribute the object’ s value to its exhibited part with a Label’ s or a
Text Box’ s Caption property.

Picture 162: Spin button

Another option is to simply link Spin Button’ s Value property directly to another
object’ s property, such as Label’ s or Text Box’ s Caption or Value properties.

200 Screen Objects


E3 – User’s Manual

Default property is Value. Default event is Change.


To use this object, follow these procedures:
Insert the Spin Button onto the Screen with Objects Toolbar.
If necessary, configure object’ s properties.

:"; ' )
Text Boxes display information on Screen or information typed by the user, being
more commonly used to display the latter. It can also show a data cluster, such as a
table, a query, a spreadsheet, or the results of a calculation.
Any formatting applied to a piece of text in a Text Box will affect the whole text.
For example, if you change font or size in any character in the object, that change
will affect all the characters in the Text Box.

Picture 163: Text Box

Default property is Value. Default event is Change.


To use this object, follow these procedures:
Insert the Text Box onto the Screen with Objects Toolbar.
If necessary, configure object’ s properties.

Tips on using Text Box


Text Boxes are flexible controls ruled by the following properties: Text, Multiline,
WordWrap, and AutoSize.
Text property contains the text to be exhibited in the Text Box.
Multiline property enables Text Box to display text either on a single line, or on
multiple lines. The characters identify where one line ends and the next begins. If
Multiline property is set to False, the text will be truncated instead of broken.
WordWrap property defines line breaking adjustment from long lines into shorter
ones. Its default value is True. If WordWrap property is not used, Text Box begins a
new text line whenever it finds a new character in the text. If WordWrap property is
disabled, some text lines may not fit completely in Text Box. Thus, the object
displays the parts of the text that fit its width and truncates the ones that do not. This
applies only when Multiline property is set to True.

Screen Objects 201


E3 – User’s Manual

AutoSize property adjusts Text Box to exhibit the whole text. When this property is
used in a Text Box, the object’ s width is resized according to the amount of text in
the Text Box and the font size used to display the text. Default value is False.
AutoSize property works well in the following situations:
• Displaying a single- or multi-line legend.
• Displaying the single-line content of a text box.
• Displaying the read-only multi-line content of a text box.
NOTE: Avoid using AutoSize property in an empty Text Box using both Multiline
and WordWrap properties. When the user types some text in a Text Box with these
properties, it will be automatically sized as a long, narrow box, one-character wide,
and one-text-line long.

:" < ' ++ )


Toggle Buttons show an item’ s selection status.
If a Toggle Button is associated to a data source, it will show this source’ s current
value, such as On/Off, Yes/No, or True/False, or some other choice between two
options. If the button is selected, the value is On, Yes, or True; otherwise, it will be
Off, No, or False.

Picture 164: Toggle Button

A disabled Toggle Button displays a value, but it is darkened, and does not allow
modifications from the user.
Default property is Value. Default event is Click.
To use this object, follow these procedures:
Insert the Toggle Button onto the Screen with Objects Toolbar.
If necessary, configure object’ s properties.

202 Screen Objects


;; *

Links or Connections join properties (and objects) together . Links make the
creation of animations and other types of common logic easier, thus minimizing the
use of scripts.
You can access the tab Links by right-clicking the object and selecting Properties.
This tab displays all object’ s properties that can be connected, as well as the type of
connections available and their sources.

Picture 165: Associations Page

The available options on Links tab are:

Available options for Links tab


OPTION DESCRIPTION
# ' Lists the properties available in the object.
6 Determines the type of connection the selected
property has. The available options are: simple, bi-
directional, analog, digital, table, and reverse.
% Specifies connection source’ s name.

You can link an object or create an expression. When you create an expression, or
associate an object or property to the field Source, the text will be blue, in case it
Links 203
E3 – User’s Manual

corresponds to an item existent and/or being loaded at Studio. If the item does not
exist, or if it belongs to a module not present or unloaded, the text will appear in red
and this item will be displayed in the option Verify Domain until it is corrected
/excluded.
There are many types of Links, which will be explained below.

; (
In Simple Connection, the value in the field Source is copied to the property each
time the first one is modified. In the example below, Angle property is associated to
a TagDemo, in a Simple Connection, represented by an horizontal arrow.

Picture 166: Simple Connection

To use this resource, follow these procedures:


Select the object for connection.
Access these object’ s properties by right-clicking it and selecting the
option Properties.
Click Links tab and select the property you wish to connect. The system
will indicate several types of connections.
Select the preferred connection and click the icon AppBrowser.

;! )#
With Bi-directional Connection, the same thing happens; however, in case there is
a variation in the property, its value will be copied to the Source, generating, thus, a
link with two directions.

204 Links
E3 – User’s Manual

Picture 167: Bi-directional Connection

To use this resource, follow these procedure:


Select the object for connection.
Access these object’ s properties by right-clicking it and selecting the
option Properties.
Click Links tab and select the property you wish to connect. The system
will indicate several types of connections.
Select the preferred connection and click the icon AppBrowser.

;" +
With Digital Connection, you can establish that in case the variable or expression in
the field Source is a digital property, its status True/False will be mapped to certain
values in Destiny, including the option Blink (alternating values).

Picture 168: Digital Connection

Links 205
E3 – User’s Manual

The available options for this connection are:

Available options for Digital link


OPTION DESCRIPTION
- Specifies the value assumed by the property when the
expression in the source is True.
9
9 Specifies the value assumed by the property when the
expression in the source is False.
E6 When this field is enabled, the connected property will
alternate between the values in the field To Value, in case
the source returns True. In case it does not, the returned
property will alternate between the values in the fields
Value and To Value in case the source returns False.
4 Specifies the alternative value to be assumed periodically
9! by the property when font expression or association results
True, and Blink is enabled.
4 Specifies the alternative value to be assumed periodically
9! by the property when font expression or association results
False, and Blink is disabled.

To use this resource, follow these procedures:


Select the object for connection.
Access these object’ s properties by right-clicking it and selecting the
option Properties.
Click Links tab and select the property you wish to connect. The system
will indicate several types of connections.
Select the preferred connection and click the icon AppBrowser.

;, +
Analog Connection allows you to establish a scale of conversions between source
and destination variables. Through four specified values, a linear scale is done
between property values and source values.

206 Links
E3 – User’s Manual

Picture 169: Analog Connection

The available options for this type of connection are:

Available options for Analog link


OPTION DESCRIPTION
4 % Determines maximum and minimum values achieved
on source.
4 # 7 Determines maximum and minimum values achieved
on property.

To use this resource, follow these procedures:


Select the object for connection.
Access these object’ s properties by right-clicking it and selecting the
option Properties.
Click Links tab and select the property you wish to connect. The system
will indicate several types of connections.
Select the preferred connection and click the icon AppBrowser.

;- ' .
We can establish conditions between the variable, values and destiny. On the table
you can specify maximum and minimum values, and values for the property these
conditions refer to.
To use this resource, follow these procedures:
Click object’ s properties and choose the option Links.

Links 207
E3 – User’s Manual

Select the property you wish to associate, and click the item Table
Connection.

Picture 170: Table link

The options available for this connection are:

Available options for Table link


OPTION DESCRIPTION
Inserts a new line on the table.
'
Removes the selected line from the table.
, :
Specifies the minimum value on the source for a line in the
table.
& Specifies the maximum value on the source for a line in the
table.
4 Specifies the value on the property to be assumed when the
source is in the interval specified on the line.
6E Determines that when the source is in the interval of this line,
the property will alternate periodically between the values
specified in the fields Value and Value <Blink Enabled>.
4 Specifies the alternative value of the property to be assumed
6 )! when the source is in the interval specified on the line, that is,
when the field Blink is enabled.

To use this resource, follow these procedures:


On the tab Links, select the property and associate it to the option
Table Connection.

208 Links
E3 – User’s Manual

Create the lines on the table and configure the maximum and minimum
values.
In case you want to alternate periodically between values, enable the
field Blink and configure the other options.

;8
Reverse Connection is a unidirectional association from the object to the source.
To use this resource, follow these procedures:
Click object’ s properties and choose the option Links.
Select the property you want to associate, and click Reverse
Connection.

Picture 171: Reverse Connection

;9 *
E3’ s tool for link edition is called Links Edition. With this, it is possible to edit one
or more links made in the application more quickly than through the window.
The access to this tool is made by right-clicking the mouse on one or more objects,
and then selecting the option “ Edit Links” .

Links 209
E3 – User’s Manual

Picture 172: Access to Edit Links option

The following dialog box is opened:

Picture 173: Links Edition

The dialog box above shows the list of links, Link properties, and user events related
to the selected objects and their child-objects.
According to the type of row, the following information will be displayed on the
columns:

210 Links
E3 – User’s Manual

Options for Object Links


OPTIONS DESCRIPTION
)$%S
' Determines object’ s name.
# 7< : Determines the object’ s property that is linked
% Determines the type of link (analog, digital, simple, reverse,
bidirectional, or table).
% Determines link’ s source.

Options for Link properties


OPTION DESCRIPTION
)$%S
'- Determines the name of the object with the property.
# 7< : Determines property’ s name.
% It is always the same as the link.
% Determines property’ s value.

Options for User’s Events


OPTION DESCRIPTION
)$%S
'- Determines the name of the object with the event.
# 7< : Determines the name of user’ s event.
% Determines the type of event (OnEvent, WhileEvent, or
OnValueChanged).
% Expression related to the event.

In the dialog box ! 6', you are allowed to do the following:


• Links: Can be modified, except for object’ s name.
• Link properties: Can be modified, except for object’ s name.
• User events: Can be modified, except for object’ s and event’ s names.

The option Show link’s Properties List determines whether link’ s mini-dialogs are
shown or not when the row is selected. If the window is visible, it is possible to edit
links’ properties. Its default value is enabled.

Links 211
E3 – User’s Manual

Picture 174: Selected link properties edition

To edit user events properties, it is necessary to select the row containing the event
and, on Connection column, click the option Edit.

Picture 175: User events properties edition

When clicking Edit option, the dialog box below is shown, thus allowing the
selected user event to be edited.

212 Links
E3 – User’s Manual

Picture 176: Events edition

The available options are:

Available options for Edit Event window


OPTION DESCRIPTION
## 7<&# '' Property/expression generating the event..
: ' Indicates whether this is an : or an
1 : ..
,# : :7 ' Indicates event repetition cycle (i.e., its periodicity
while the generating expression is true) in ms.
(' : Indicates that the event is 4 (!;
that is, the event occurs every time the generating
expression changes value.
!'% % ' If disconnection occurs, it will be dealt with as
% ( change in value.

Links 213
< < % &

<
The object Viewer is what makes application visualization. With it, you can see
Screens in runtime, as well as system’ s operation. It can run from any point with
access to E3 Server on the network. It is not necessary to copy the application to
other Viewers, because Screens and bitmaps are downloaded according to your
needs in runtime. There can only be one Viewer per domain.

Picture 177: Viewer

To create a Viewer in the project, follow these procedures:


Check for the previous existence of a Viewer in your domain. If there is
not any, right-click the project and insert a new one through the option
Insert— Viewer.

Viewer 215
E3 – User’s Manual

< % & 7+
Through Viewer’ s properties, it is possible to specify Viewer’ s configurations,
Communication Errors, and create links or scripts.

< % & 7+
Through the tab Viewer, you can configure its title, Screen, zoom, as well as other
properties, as explained below.

Picture 178: E3 Viewer’s properties

Each field on this tab has a corresponding property. The available options are:

216 Viewer
E3 – User’s Manual

Available options for E3 Viewer tab


OPTION DESCRIPTION
Determines Viewer’ s title. The field is equivalent to
Caption property.
% 9 Determines Viewer’ s initial Screen or Frame. By

clicking the button , the system opens


AppBrowser, where you can select the initial
Screen. The field is equivalent to InitialScreen
property.
= Determines Viewer’ s zoom (how it will fit on
screen). The field is equivalent to InitialScreen
property’ s zoom specifications after the question
mark (“ ?” ). For example: InitialScreen?100
(InitialScreen is the name of the initial Screen, and
?100 is 100% zoom).
"= Enables the display of Zoom menu when right-
" ( >%%6 ( clicking the screen in runtime. The field is
equivalent to EnableZoomMenu property.
F # % ' !! Enables Viewer to keep Screens loaded on memory.
7 The field is equivalent to CacheEnable property.
& 8!< Determines Viewer’ s window style. The field is
- < 8! equivalent to WindowStyle property.
%
6 %:7 Defines the maximum time the system will wait for
' a physical event before it checks for inactivity (in
minutes). The field is equivalent to EnableInactivity
property.
- ) '" Establishes the number of times the login will be
(' ! retried. The field is equivalent to LoginRetries
#''" ! property.
" !" Centers Viewer’ s window. The field is equivalent to
CenterWindow property.
+' ) '6 '" % ( Disables windows switching. The field is equivalent
to DisableTaskSwitching property.
4" Sets Viewer’ s title at the top of the Screen. The field
is equivalent to TitleBar property.

< ! ((
At Viewer, it is possible to view tags’ communication errors when they are linked to
Displays or SetPoints. This is possible by configuring the information on the tab
Communication Errors, available at Viewer’ s Properties.

Viewer 217
E3 – User’s Manual

Picture 179: Communication errors

The available options for this tab are:

Available options for Communication errors tab


OPTION DESCRIPTION
4 "% %
Enables/disables communication errors view.
'
& Contains the text to be displayed in the SetPoint, in
case value’ s quality is bad.
9 % Font color for the text.
%
6( !% Color to be used in the SetPoint. It is equivalent to
SetPoint’ s ForegroundColor property, but the color
is not effectively changed, because the value is not
altered in the SetPoint.

<! % . % &
In this object, it is possible to link objects from Screens, as well as use them via
scripts. It is also possible to insert demo or internal tags in the Viewer. The
following actions can be performed via AppBrowser:
• Access Viewer or one of its child-objects from a Screen or Screen control (links
or scripts).
• Viewer’ s child objects can access their “ peers” , as well as Viewer itself. (links or
scripts).
• Viewer can access its own child-objects (links or scripts).

218 Viewer
E3 – User’s Manual

It is important to notice that a link to Viewer must take its actual name (e.g.:
“ Viewer1” ), and not simply “ Application” . As for scripts, it is still possible to use
“ Application” , which is a property of all objects returning Viewer.

<" $.2 '


Whenever a Viewer is inserted on project, it will carry with it a child-frame, called
Top. This object works the same way as Frame’ s Splitter.
To use this resource, follow these procedures:
Click the object Viewer. You will be able to see a child object called Top.

Picture 180: Object Top

To configure this object’ s properties, right-click on it and select the option


Properties.
This objects has the same properties as the Splitter so, for further
information, look up the chapter “ Screens and Frames” .

Viewer 219
.

<
Databases are features that store project information regarding the Historic,
Formulas, Alarms, and E3Storage. It supports Access (.mdb), Oracle, and Microsoft
SQL Server.
To use this feature, right-click on project’ s name and choose the option Insert—
Database.

Picture 181: Inserting a Database

When you insert the Database into the system, the options regarding Data Server
type are enabled, via configuration tab on Properties Window, or via SourceType
property, on Properties List.
Some of this object’ s properties can be configured via Properties List, with no need
of creating scripts for that. In case you need to configure any property, just locate it
on the Properties List and perform the necessary adjustments. For further
information on properties, see Scripts: Reference Manual.

Database 221
E3 – User’s Manual

.
Generates a database in .mdb format, E3’ s default database format. To use this
feature, follow these procedures:
Right-click on project’ s icon and select the option Insert— Database.
The object is created in the project, and its scripts edition window is
opened.
To configure it, access Configuration tab on Properties Window:

Picture 182: Configuration for Access Database

The available options for this tab are:

Available options for Configuration tab


OPTION DESCRIPTION
+ )' Selects the type of Database in use in the project: 3H
' /%%''; J H ' % ; or 2 H ' T : .
+ Name of the .mdb file used in the project.
+ ''" ! Access Database password.
;' Database user connected via E3.
''" ! Logged on user’ s password.
' % Tests connection with the Database.

In the field Database, select the option 3H ' /%


%''.
Insert the name of the file you want (whether it already exists or not) in
the field MDB file (according to the previous picture).

222 Database
E3 – User’s Manual

If necessary, configure the options User, Password and DB Password


according to Access’ s definitions. These items can remain blank; in this
case, the system assumes E3’ s default settings.
Click on [ F] button to finish configuration.

! $ .
Using Oracle as the Database server for E3 is only possible when an Oracle server or
client is installed in the machine where E3 server will run. This installation must
contain OCI (Oracle Call Interface) support and OLEDB Provider for Oracle,
demanded for the communication between E3 and Oracle. To install Oracle, refer to
the product’ s documentation.
Oracle DB can be accessed in two ways: either by accessing the Oracle Database
from inside E3, or via scripts. Each of these procedures will be explained below:

! +$ . "
To insert a new Oracle Database, follow these procedures:
Right-click on project’ s icon and select the option Insert— Database.
The object is created in the project, and its scripts edition window is
opened.
To configure it, access Configuration tab on Properties Window:

Picture 183: Configuration for Oracle Database Server

Database 223
E3 – User’s Manual

The available options in this tab are:

Available options for Configuration tab


OPTION DESCRIPTION
+ )' Selects the type of Database in use in the project: 3H
' /%%''; J H ' % ; ou 2 H ' T : .
% Name of the connection made available by base
administrator.
;' / 7
# Allows you to use Oracle’ s datatype, with miliseconds
of precision.
;' /+ % !: ' Allows you to use Oracle’ s interfaces to query this
database.
;' Database user connected via E3.
''" ! Logged on user’ s password.
' % Tests connection with the Database.

In the field Database, select the option J H ' %.


If the Oracle server is local, the field Connection can remain blank,
because then E3 automatically retrieves the data. Otherwise, the
connection will be created using the Oracle client installed in the machine.
If necessary, configure the options User and Password according to
Oracle’ s settings.
Click [ F] button to finish setting up.
When you insert the Database into the system, the options regarding Data Server
type are enabled. DB Server is the responsible for managing and storing the
information on the objects using this service.

!! +$ .
Scripts are programming language modules where code lines allowing greater
flexibility to associate actions to specific events are created. Each item of an E3
project has a list of events previously associated to. So, the user can create programs
that will be executed whenever an event occurs.
E3 uses VBScript (Visual Basic Script) in its scripts, and with them it can instance
any ActiveX object registered in the system. To access DB, the most used ActiveX
is ADO, which can be easily handled in the E3 scripts.
First, it is necessary to create an ADO connection, which can be made with the script
below:

Set DBConnection = CreateObject("ADODB.Connection")_

224 Database
E3 – User’s Manual

DBConnection.Open "Provider=MSDAORA;_
DataSource=connectionOracle;User_
ID=UserID;Password=passwd"

After the connection is created, it is possible to run an SQL command directly over
the connection, as shown below:

DBConnection.Run _
"UPDATE Table SET name = 'John' WHERE id = 10"

It is also possible to view all the records you want, which are returned in the form of
a recordset (query), as shown below:

Set Recordset = CreateObject("ADODB.Recordset")


Recordset.Source = "Table"
Recordset.ActiveConnection = DbConnection
Recordset.CursorType = 1 ' adOpenKeyset
Recordset.LockType = 3 ' adLockOptimistic
Recordset.Open

From this moment on, it is possible to browse the table by using :- & and
: :commands, as well as many other commands made available by ADO. It
is also possible to use an SQL query to handle specific parts of the table, with
Source property.

!" ' + .1 " $ .


E3 uses basically two technologies to access Oracle Database: ADO (ActiveX Data
Object) and OCI (Oracle Call Interface).
ADO is the technology used by E3Browser and E3Chart to retrieve data stored in
the Database. ADO is also widely used in E3 scripts for all types of operation with
the Database. It is a set of COM objects created to access SGDB information by
using OLE DB. This technology is available when we install the OLE DB Provider
for Oracle (MSDAORA). It accesses Oracle’ s native interface, OCI.
OCI is used by E3’ s DB Server to implement Database services used by Historics,
Formulas, Alarms, and E3Storage. With OCI, you can access Oracle’ s functions
directly, making the process as optimized as possible. It features an access default
library to the Database and data retrieval functions in DLL or LIB format that can be
linked to an application in runtime.

Database 225
E3 – User’s Manual

!, +$ )
E3 Database Server uses OCI (Oracle Call Interface) to communicate with Oracle
server, that is, it uses the Database’ s native form to boost the communication
performance with DB.
A good example of how E3 DB Server communication with Oracle works is the
Historic. First, the acquisition of data is done by the Historic, which immediately
sends them in form of requests to the DB. These requests can be for creating a table,
creating indexes and keys, adding data, etc. E3’ s DB Server has a separate process
specially to receive them. Depending on the type of operation to be performed, the
data are formatted and saved in a temporary file or memory.
At the same time, DB has yet another process responsible for retrieving requests and
sending them to the database in form of SQL commands, by using the OCI.

226 Database
E3 – User’s Manual

Database 227
E3 – User’s Manual

" = .
With this option, it is possible to store data in the SQL Server Database.

" + = . "
To insert a new SQL Server Database, follow these procedures:
Right-click on project’ s icon and select the option Insert— Database.
The object is created in the project, and its scripts edition window is
opened.
To configure it, access Configuration tab on Properties Window:

Picture 184: Configuration for SQL Server Database

The available options in this tab are:

Available options for Configuration tab


OPTION DESCRIPTION
+ )' Selects the type of Database in use in the project: 3 H
' /%%''; J H ' % ; ou 2 H ' T : .
: Server’ s name.
+ )' Database’ s name.
;' Database user connected via E3. Depending on the type of
object to be used in the project, they must have different kinds
of permission.
''" ! Logged on user’ s password.
' % Tests connection with the Database.

228 Database
E3 – User’s Manual

In the field Database, select the option 2 H ' T :.


If necessary, configure the options User and Password according to
SQL Server’ s definitions. These items can remain blank; in this case, the
system assumes E3’ s default settings.
Click on [ F] button to finish configuration..

"! + = !<<<
To illustrate the access to SQL Server 2000, you can create a Historic recording
data per one-second scans. The procedures are:
Create a Demo Tag. This tag’ s settings do not need to be altered.
Double-click on DBServer and access SQL Server setup window. The
parameters must be altered so that they fit the settings available in the SQL
Server installation.
Set the options in this window as needed, such as server name, user,
password, and Database.
Once Database setup is made, the Historic accessing this base must be
configured. To do so, you must first create a field in the Historic and then
insert the Demo tag, which will be used to send different values to the
Database.

Picture 185: Historic and its settings

Access Historic’ s properties through the button Historic Properties


and specify both the Database server and the table name. The other
settings must remain unchanged. The table will retrieve data at E3 and also
made the use of the tool SQL Server Analyzer visible, which is the client
used for queries in the SQLServer.
Once Historic is configured, it will be necessary to create the table
structure in the DBServer. To do so, use the Button Generate structure in

the DB . A message confirming the creation of the table structure

Database 229
E3 – User’s Manual

will be shown in the window. In case of error, the problem must be


located.
To view the Historic in action (saving data in the SQL Server), create a
Screen, insert an E3Browser in it, and configure it to access the DBServer
as explained above in the Historic and configure the E3Browser to be
automatically updated every 10 seconds, for example.
Once the configuration is done, run the project. After some time
running the project, E3Browser will start displaying the data being sent to
the server.
It is possible to consolidate the data to be shown at E3 and to be saved
in the server by using the E3Browser’ s Query as well as the software SQL
Query Analyzer. To do so, create different queries to the Database and edit
them both in the E3Query and in the Query Analyzer. The results must be
the same, if the domain is stopped; conversely, they must be similar, if the
domain is running. This difference is due to the constant Database update
when the domain is running. To edit queries at E3Query, enable the option
Enable SQL direct edition.

"" + $ )7
To access SQL Server via scripts, you will use an ADODB connection. The
connection string to this type of Database follows the model defined below:

DRIVER={SQL Server};SERVER=server;UID=login_id;PWD=password;

The use of this type of access must be restricted to cases where there is no other
solution. E3’ s features aim at minimizing the use of these accesses via script.
However, on occasion the use of this feature may be necessary.

, " $.2 (
It is necessary to configure the permissions in the Database to use E3 objects in a
project. The permissions are listed below:

Permissions
OBJECT PERMISSIONS
9 ' Full permission
;' ' % Reads and checks the existing tables
@' % Full permission
/ ' : Full permission

230 Database
E3 – User’s Manual

In permissions, the expression Full permission means the user will have
permissions to:
• Create or remove tables;
• Create indexes and keys;
• Insert and exclude data from the tables created;
• Check on resulting tables.

The user does not need to be an Administrator to have Full Permission on any
object.

Database 231
!! (

E3 has a set of objects that allow the user to monitor alarms in an application. With
them, it is possible to specify and manage alarms and variables events of a process.
Alarms conditions can be managed in several sources. The system is made of two
objects: an alarms centralizer, called Alarm Server, and one or more configuration
objects, called Alarm Configuration. You can find more details about them in the
following topic.

! ( 7+
The object Alarm Configuration is where the Alarm Areas are inserted and
organized.
To insert this object, follow these procedures:
Right-click on the Organizer and choose the option Insert— Alarm
Configuration.

Picture 186: Inserting the object Alarm Configuration

Alarms 233
E3 – User’s Manual

! (
Alarm Areas allow you to group a set of Alarm Sources, as well as other Alarm
Areas. This makes the management, operation, and monitoring of a set of related
alarm sources easier, such as:
• Filtering the set of alarms visible in the summary;
• Enabling/disabling a set of Alarm Sources;
• Acknowledging a set of Alarm Sources;
• Checking the total amount of active and/or unrecognized alarms of a set
Alarm Sources.
In case it is necessary, new areas can be inserted within others.
To insert this object, follow these procedures:
Right-click on Alarm Configuration, or on one Alarm Area, and choose

the option Insert— Area, or click on the icon in the alarms


visualization window.

Picture 187: Inserting an Area

Some of this object’ s properties can be configured in the Properties


List, with no need for scripts. In case you need to configure some
234 Alarms
E3 – User’s Manual

property, just locate it in the Properties List and proceed with the
necessary adjustments. Further information on properties can be found in
Scripts: Reference Manual.

! ! (
All information related to alarm conditions is defined at the Alarm Sources, as well
as the type of events to be generated in each condition. Alarm sources always
contain an alarm expression (data source) whose value can be checked with the
several available conditions, being these sources: analog alarm, deadband alarm,
digital alarm, and rate-of-change alarm.
In each alarm sub condition, you can configure its limits, the message related to the
event, its severity, as well as the need for this event’ s acknowledgement.

Picture 188: Alarm Sources

Alarms 235
E3 – User’s Manual

Opening the Properties Window of any alarm source and picking the tab Source
causes the following window to be opened:

Picture 189: Source tab

To handle this alarm as an event, or to double acknowledge the alarm (both when it
is active and as it becomes inactive), just click on the checkbox above.
All alarm sources have the following general properties:
• Message Text: This message is stored in alarm event’ s field “ Message”
while it is active. That is, it can be viewed at E3Alarm, stored in the
Database, etc. The message’ s text is limited to 200 characters.
• Severity: Indicates alarm’ s severity (Low, Medium, or High). This field
is used for making filters and ordering messages.
• Need Ack: Indicates if the alarm must be acknowledged by the operator
to be discarded from the alarm list at E3Alarm, or if it is automatically
acknowledged when the variable leaves alarm condition.
• Return Message: This message is stored in alarm event’ s field
“ Message” when it is inactive. That is, it can be viewed at E3Alarm,
stored in the Database, etc.
There are many types of Alarm Sources that can be inserted in the Alarm Area.
The available options are:

Analog
Allows monitoring an analog variable, specifying up to 4 alarm levels: LOLO (Very
Low), LO (Low), HI (High), and HIHI (Very High).

236 Alarms
E3 – User’s Manual

Picture 190: Analog Alarm Source

The available options are:

Available options for Analog tab


OPTION DESCRIPTION
) (A U U@ U@ @ C Enables checking the chosen type of alarm (Lolo,
Lo, Hi, HiHi)
Indicates the level that triggers the alarm
'' ( & Specifies the text shown to the user when the
alarm is active.
: 7 Specifies alarm severity level (high, medium, or
low).
- !/%
6* Enables/disables alarm acknowledgement.
+ 7 Specifies delay time, in ms. When the value is 0
(default), the delay is not applied.
+ !) !* Enables dead band, a feature used to avoid that a
variable generates an unnecessary amount of
messages when oscillating around an alarm limit.
, '' ( Specifies the text shown to the user when the
alarm is inactive.

Digital
Allows monitoring a digital variable for the alarm, specifying whether the alarm is
ascending (-1 or TRUE) or descending (0 or FALSE).

Alarms 237
E3 – User’s Manual

Picture 191: Digital Alarm Source

The available options are:

Available options for Digital tab


OPTION DESCRIPTION
+( / * Enables digital alarm.
/ 4 Determines alarm’ s Boolean value (True/False).
'' ( &* Specifies the text shown to the user when the alarm is
active.
: 7 Specifies alarm severity level (high, medium, or low).
- !/%
6* Enables/disables alarm acknowledgement.
+ 7 Specifies delay time, in ms. When the value is 0
(default), the delay is not applied.
, '' ( Specifies the text shown to the user when the alarm is
inactive.

238 Alarms
E3 – User’s Manual

Dead Band
Allows monitoring an analog variable by specifying a maximum difference limit
(Dead Band value), in relation to a reference value (SetPoint).

Picture 192: Dead Band:

This type of alarm is indicated when the reference (SetPoint) is variable, and also
when you want to avoid an unnecessary amount of alarms to small oscillations in the
monitored variable.

Picture 193: Dead Band Alarm Source

The available options are:

Alarms 239
E3 – User’s Manual

Available options for Dead band tab


OPTION DESCRIPTION
Link to a reference variable, so that a difference
related to monitoring variable is monitored.
+ Enables dead band, a feature used to avoid that a
variable generates an unnecessary amount of
messages when oscillating around an alarm limit.
4 Indicates the difference between the monitored
variable and the SetPoint. It must be informed in the
monitored variable’ s engineering variable.
'' ( &* Specifies the text shown to the user when the alarm is
active.
: 7 Specifies alarm severity level (high, medium, or low).
- !/%
6* Enables/disables alarm acknowledgement.
+ 7 Specifies delay time, in ms. When the value is 0
(default), the delay is not applied.
, '' ( Specifies the text shown to the user when the alarm is
inactive.

Rate of change
Used to monitor very quick variations in a process variable. The rate of change uses
values specified in variable units per second.

Picture 194: Rate of Change Alarm Source

240 Alarms
E3 – User’s Manual

The options available are the following:

Available options for Rate of change tab


OPTION DESCRIPTION
, Enables ROC alarm’ s verification.
, % (* Indicates the percentage of the monitored variable
that can vary per second. This value is calculated with
each variable reading interval, with the formula: ROC
= (CurrentValue - PreviousValue) / (CurrentMoment
- PreviousMoment). If ROC is bigger than the
specified rate, it will be considered alarm status.
'' ( &* Specifies the text shown to the user when the alarm is
active.
: 7 Specifies alarm severity level (high, medium, or low).
- !/%
6* Enables/disables alarm acknowledgement.
+ 7 Specifies delay time, in ms. When the value is 0
(default), the delay is not applied.
, '' ( Specifies the text shown to the user when the alarm is
inactive.

Alarms 241
E3 – User’s Manual

!! (
The object Alarm Server centralizes all project’ s alarms. Here, you can find the
total amount of active alarms in the application (acknowledged or not). The Alarm
Server is also the responsible for reporting alarm events to all Viewers connected,
and for sending these events to a Database, if necessary.
Each application must have no more than one Alarm Server, and its presence is
mandatory for alarms checking.
To insert an Alarm Server, follow this procedure:
Right-click the project name in the Organizer and select the option
Insert— Alarm Server.

Picture 195: Inserting an Alarm Server

!! 7+ 7 ( ' . +
To specify the Alarm Server’ s settings, you have to access its properties. To do so,
just right-click the Alarm Server and select the option Properties. On the tab
Configuration, it is possible to specify Database settings and establish fields for
generating alarm tables.

242 Alarms
E3 – User’s Manual

Picture 196: Alarm Server Settings

Each field in Configuration tab has a corresponding property. The available options
are:

Alarms 243
E3 – User’s Manual

Available options for Configuration tab


OPTION DESCRIPTION
: ' Enables/disables alarm data storage in the database.
! )' This field is equivalent to Logging property.
;' ' + )' ' : Defines which Database server will store alarm data.
This field is equivalent to DataSource property.
+'% !! Enables/disables old data discard from the table. “ Old
) data” is defined by the option F # ' .. This
field is equivalent to EnableDiscard property.
F # ' . Determines the time interval (minutes, hours, days, or
) months) during which data will be kept in the main
table. When data is older than the interval, they are
discarded. This field is equivalent to DiscardInterval
property, and the field for time unit selection for the
interval is equivalent to DiscardTimeUnit property.
+'% !! :7
. Checks the alarms every time interval specified in the
field (minutes, hours, days, or months). This field is
equivalent to VerificationInterval property, and the
field for time unit selection for the interval is
equivalent to VerificationUnit property.
+'% !!! ' ) Enables/disables the storage of discarded data on the
' ! backup table. This field is equivalent to
EnableBackupTable property.
F # % !!! Determines the time interval (minutes, hours, days, or
'. months) during which data will be kept in the backup
)%6 # ) table. This interval must be longer than the one in the
field F # ' .. This field is equivalent to
BackupDiscardInterval property, and the field for
time unit selection for the interval is equivalent to
BackupDiscardTimeUnit property.
9 !' Selects the fields to be added/removed from the alarm
table, in the order you wish them to appear.
) Generates the alarm table in the specified Database.

The fields available in the Alarm Server for alarm table’ s generation are:

244 Alarms
E3 – User’s Manual

Alarm Fields
OPTION DESCRIPTION
/%
6 ! Informs whether the alarm has been acknowledged. This
field assumes the following values: 0: Not
acknowledged; 1: Acknowledged.
/%
6, T ! Determines alarm’ s automatic acknowledgement. This
field assumes the following values: 0: automatic
acknowledgement; 1: manual acknowledgement.
/%
6 Registers E3’ s timestamp when the alarm is
acknowledged; or zero (1899/12/30) while it is not
acknowledged. In case of an alarm that does not require
acknowledgement, it assumes the timestamp of the
moment the alarm is activated.
/%
6 +) Similar to the previous field. It is used to record Double
datatype in case the Database is Oracle or SQL Server.
/% + Operator who acknowledged the alarm. It can be:
The user logged at Viewer when the acknowledgement
happened at E3Alarm (or “ (No user)” , if no user is
logged).
“ System” , when it is an automatic acknowledgement (for
alarms that require ack). A name passed via scripts.
The field’ s limit is 50 characters, when stored in the
database.
/ %- Registers the alarm source name. The field’ s limit is 100
characters, when stored in the database.
/ For alarm events, this is the name of the area the alarm
source belongs to. For other events, it can be a user pre-
defined text. The field’ s limit is 100 characters, when
stored in the database.
( '6 Not used (always 0).
! /%: Indicates whether the alarm source is in alarm. This field
assumes the following values: 0: inactive condition; 1:
active condition .
! - Condition name, if it is an alarm event. This field
presents the following values: “ DeadBand” (deadband
alarm source); “ Digital” (digital alarm source); “ Level”
(analog alarm source); and “ RateOfChange” (rate of
change alarm source). If the event is not an alarm (for
example, when using Alarm Server’ s
LogTrackingEvent() method), it will always be “ ” .The
field’ s limit is 100 characters, when stored in the
database.
6 Value associated to the alarm source, used internally by
the alarm server.

Alarms 245
E3 – User’s Manual

4 Determines alarm source’ s value (converted to Double)


at the moment of the event. For events the value is
always zero (0). The field’ s limit is 100 characters, when
stored in the database.
)! Determines whether alarm verification is enabled. This
field assumes the following values: 0: Alarm source
verification disabled; 1: Alarm source verification
enabled.
: (7 For alarms, this field can assume the following values: :
“ DeadBand” (deadband alarm source); “ Digital”
(digital alarm source); “ Level” (analog alarm source);
and “ RateOfChange” (rate of change alarm source). For
other events, it can assume values defined by the user.
The field’ s limit is 100 characters, when stored in the
database
: Alarm Source’ s TimeStamp value when the event takes
place.
: ; Alarm Source’ s TimeStamp value when the event takes
place (Greenwich time). Its value is the same as
EventTime field, being maintained at E3 for
compatibility purposes.
: 7
# For alarm events, it is always “ Condition”. For other
events, it can be a user-defined text, like, for example,
using Alarm Server’ s LogTrackingEvent() method. The
field’ s limit is 100 characters, when stored in the
database
: +) Similar to the previous field. It is used to record Double
datatype in case the Database is Oracle or SQL Server.
9 !4 Shows alarm source’ s formatted value for its event. This
is a read-only field. The field’ s limit is 100 characters,
when stored in the database.
9 / %- Registers the complete alarm source’ s name, including
areas, alarm configuration, and possible folders where it
is inserted.
Ex: Folder1.AlarmConfig1.Area1.AlarmSource1
Value’ s timestamp at the moment it gets in alarm.
+) Similar to the previous field. It is used to record Double
datatype in case the Database is Oracle or SQL Server.
'' ( Text configured in the alarm source, or specified by
another event. The field’ s limit is 200 characters, when
stored in the database.
Value’ s timestamp at the moment it gets out of alarm. It
is zero (12/30/1899) if the alarm is still active.
+) Similar to the previous field. It is used to record Double
datatype in case the Database is Oracle or SQL Server.

246 Alarms
E3 – User’s Manual

? 7 Alarm source’ s value quality at the moment of the event.


This field assumes the following numerical values: 0-63:
bad quality; 64-127: uncertain quality; 128-191: Not
defined; 192-255: good quality. If the event is not an
alarm (for example, if it is using LogTrackingEvent()
method), this field is equal to “ ”. Ex.: “ Bad (0)”;
“ Uncertain (64)” ; “ ?? (128)” ; “ Good (192)”.
: 7 Severity value configured in the alarm source. This field
assumes the following values: 0: High; 1: Medium; 2:
Low. It can assume another user-defined value if it is an
event, like Alarm Server’ s LogTrackingEvent() method.
% For alarm events, it informs the link used to evaluate
alarm conditions. The field’ s limit is 100 characters,
when stored in the database
) ! - SubCondition name, if it is an alarm event. For example:
DB: Deadband alarm; DIG: digital alarm; RC: Rate of
change; LOLO: analog alarm in the LOLO band; LO:
analog alarm in the LO band; HI: analog alarm in the HI
band; HIHI: analog alarm in the HIHI band.
If the event is not an alarm, it is always “ ” .The field’ s
limit is 100 characters, when stored in the database
;' 9 !' User-defined fields. They are configured on the tab User
A;' 9 !JU;' 9 !2U fields, at Alarm Server
;' 9 !U;' 9 !IC

NOTES:
- It is necessary to have an Alarm Server in the domain, so that the alarms
monitoring is possible.
- The fields : , , and /% 6 contain the
milliseconds from the fields : , , and /% 6 ,
respectively. These fields are used when it is necessary to register the events’
milliseconds in an Oracle Database Server. Please notice that these fields are not
available at E3Alarm because there it is possible to view milliseconds with
DateTime columns formatting.

After all settings are defined, the system starts to insert and record information in the
alarm table, according to the specifications in the fields. When Create Table button
is clicked, the system generates alarm data table according to its specifications, and
informs whether the table was successfully generated.

Alarms 247
E3 – User’s Manual

Picture 197: Alarm Server message

Alarm table’ s structure is similar to Historic table’ s: it is made of a table of


definitions, a main table, and a backup table (optional).

Picture 198: _Fields Table

The fields generated in this table are explained in the topic Table Settings, in the
chapter Historic.
With Alarm Server’ s settings window, you can specify the Database Server used for
alarms recording. Database Server (DBServer) is an E3 module to be inserted in
your application.

248 Alarms
E3 – User’s Manual

!!! 4 +
User Fields tab allows adding arbitrary values to alarm events.

Picture 199: User Fields

The options available are the following:

Available options for User fields tab


OPTION DESCRIPTION
9! Field identifier.
- Specifies the field name.
7
# Specifies the field type (Text, Integer, DateTime or
Double).
( Specifies the field size.
% Specifies the alarm data source.

Alarms 249
"" " (

E3Alarm monitors active or unacknowledged alarms in the system. With this


object, it is possible to both check alarm status in the system and acknowledge them
manually.

Picture 200:E3Alarms

To use this object, follow these procedures:


Right-click on a Screen or on the work area and select the option Insert—
E3Alarm; alternatively, go to Object Toolbar and select the button
E3Alarm.

Picture 201: Inserting E3Alarm

Some of the properties of this object can be configured via Properties


List, with no need for creating scripts for this purpose. In case you need to
configure some property, just locate it in the Properties List and make the
necessary adjustments.

E3Alarm 251
E3 – User’s Manual

" " ( +
To configure E3Alarm, right-click on the object and select the option Properties.

" +
On General tab, specify the information regarding Alarm Server and filters.

Picture 202: General tab

Each field on General tab has a corresponding property. The available options are:

252 E3Alarm
E3 – User’s Manual

Available options for General tab


OPTION DESCRIPTION
9 ' Specifies the filter by alarm area. In case you wish to use
some filter, specify in the field, or simply leave it blank.
You can filter areas with ou without wild cards (such as * or
?), depending on the configuration of SimpleAreaFilter
property. This field is equivalent to s Filter property.
" ' Enables/disables viewing severity degree (high, medium, or
' : 7 low). This field is equivalent to ShowHightPriority (high),
ShowMediumPriority (medium), and ShowLowPriority
(low) properties.
9 )7 7
# Enables the filter type applied to the alarm (Only alarms,
Only events, Alarms and Events). This field is equivalent
to FilterType property.
/!: %! ) Specifies whether the alarm fetches data from the local
server or from the network.
/ : - Determines the name of the Alarm Server. Be sure to
supply this field, or else E3Alarm will not be able to show
the alarms and will display an error message. This field is
equivalent to AlarmServer property.

When [/!: %!] button is activated, the system displays a dialog box for domain
configuration. The domain identifies an application, be it local or remote. By
selecting the option To the current domain, it is possible to enable and capture
local data. Otherwise, by enabling the option To a specific domain, E3Alarm will
fetch data of the domain indicated in the field (E.g.: \\Computer1\Project1.prj).

Picture 203: Advanced Settings

E3Alarm 253
E3 – User’s Manual

" ! ( +
With Columns tab, it is possible to select the fields to be viewed at E3Alarm. The
fields displayed in items Available Fields and Selected Fields are generated by the
Alarm Server. For further information, see the table Alarm Fields in the section
Configurations for Alarm Table Generation from the chapter Alarms, in this
Manual.

Picture 204: Columns tab

Available Fields lists all fields from the Alarm Source. With [/!!> ] button, you
can add each field individually at E3Alarm. With [ # ' ] button, you can
configure the properties in the alarm field.

Picture 205: Column properties

The available options are:


254 E3Alarm
E3 – User’s Manual

Available options for Column Properties window


OPTION DESCRIPTION
'% " ) Specifies column width, in pixels. E3Alarm’ s default
#& ' "! column width is 80 pixels.
9 Specifies the formatter used in this column.
, Renames column title.
/ " %
6 " !( Configures alarm acknowledgement when the user
clicks on a configured column’ s row. The available
options are:
• Never: The alarm is not acknowledged
(default).
• On click: The alarm is acknowledged
when the user clicks on a configured
column’ s row
• On double-click: The alarm is
acknowledged when the user double-
clicks on a configured column’ s row.
(Obs: If the alarm can be acknowledged, mouse
cursor changes from an arrow-shaped format to a
hand-shaped format, in runtime, every time it is over
an unacknowledged alarm’ s row. )
'% : ) 6' Enables/disables column blinking effect.

To remove any fields, just select it and click on [ > , :] button.

E3Alarm 255
E3 – User’s Manual

" " 4 +
With Sorting tab you can configure the default sorting of alarms. When you use
more than one sorting field, the second field assures sorting between alarms whose
value is the same for the first field.

Picture 206: Sorting Tab

Each field from Sorting tab corresponds to a certain property. The available
properties are:

Available options for Sorting tab


OPTION DESCRIPTION
7 ! Sorts alarms according to the specified field. This
field is equivalent to PrimarySortField property.
/ !)7 ! Sorts alarms from the item specified at 7 !on.
The next item is then sorted as specified in the field
/ ! )7 !. This field is equivalent to
SecondarySortField property.
/'% ! ( Sorts alarm fields in ascending order. This field is
equivalent to PrimarySortAscending property set to
True.
+ '% ! ( Sorts alarm fields in descending order. This field is
equivalent to PrimarySortAscending property set to
False.

NOTE: Default sorting is made at InTime field, in descending order.

256 E3Alarm
E3 – User’s Manual

" , +
With Colors tab you can define alarms acknowledgment colors. Every item has
specific information regarding alarm status.

Picture 207: Colors tab

When you click on [ ' ] button, a dialog box is displayed to allow you to
configure the colors of the Alarm Sources to be presented at E3Alarm.
This dialog box varies according to the alarm type.
• Active Alarm: The color changes whenever the alarm is active and unacked.
When you click on [ ' ] button, E3 opens this dialog box:

Picture 208: Active alarm colors


E3Alarm 257
E3 – User’s Manual

The available options for this item are:

Available options for Active Alarm Color window


OPTION DESCRIPTION
%
6( ! Specifies active alarm’ s background color.
& Specifies active alarm’ s text color.
6 Blinks text color
" : 7 Enables color configuration for low severity alarms.
! : 7 Enables color configuration for medium severity alarms.
@( : 7 Enables color configuration for high severity alarms.
&% Defines text color for each type of severity (low,
medium, and high), in case you do not want to use the
default option (red).

• Unacked alarm: The color changes whenever the alarm leaves the condition and
is unacked. When you click on [ ' ] button, E3 opens this dialog box:

Picture 209: Unacked alarm colors

The available options for this item are:

Available options for Unacked Alarm Colors window


OPTION DESCRIPTION
%
6( ! Specifies alarm’ s background color.
&% Specifies alarm’ s text color.
6 Blinks alarm color.

• Acked alarm: The color changes whenever the alarm is acked. When you click on
[ ' ] button, E3 opens this dialog box:

258 E3Alarm
E3 – User’s Manual

Picture 210: Acked alarm colors

The available options for this item are:

Available options for Acked Alarm Colors tab


OPTION DESCRIPTION
%
6( ! Specifies alarm’ s background color.
&% Specifies alarm’ s text color.
6 Blinks alarm color.

" - 4 +
With Font tab you can configure the font of E3Alarm’ s header and rows.

Picture 211: Font tab

The available options refer to font size and type, and its effects.

E3Alarm 259
E3 – User’s Manual

NOTE: Tab name comes in the language your Windows was configured, and not
necessarily in E3’ s language.

"! ) (
E3Alarm has some characteristics which apply only in runtime. These characteristics
will be explained in this section.

"! % & + (
When in runtime, system alarms can be viewed at E3Alarm.

Picture 212: E3Alarm in runtime

Among the alarms that meet the specifications of the configured filters, the active
and/or unacknowledged ones are displayed at E3Alarm. Generally speaking, there
are two possible situations:
• If Need Ack option of the Alarm Source is False, the alarm is considered acked
from its activation on, with no need for acknowledgement. In this case, the alarm
is visible until it leaves active condition.
• If Need Ack option of the Alarm Source is True, the user can acknowledge the
alarm either before or after the variable leaves alarm condition. In both cases, the
alarm will only leave E3Alarm’ s list when both conditions are met.

"!! ( * & + (
In the default configuration, whenever you right-click on E3Alarm a context menu
with the option Acknowledgement is displayed. By selecting this option, the
following dialog box is shown:

260 E3Alarm
E3 – User’s Manual

Picture 213: Alarm acknowledgment options

The available options are:

Available options for Alarm and Event Acknowledgement window


OPTION DESCRIPTION
/%
6 " !( 7 Only selected alarms are acknowledged.
' %! : '
/%
6 " !( : ' All visible alarms in this E3Alarm are acknowledged.
%
/%
6 " !( : ' All alarms in the domain are acknowledged.
'7
'

• The option Acknowledge only selected events is only available when


there really are alarms selected at E3Alarm. The user can acknowledge
the alarm (in this case, a new register will be inserted in the Database
indicating the acknowledgement), and the corresponding line at E3Alarm
indicates that it has been acknowledged. This option is disabled if
AllowAckSelected property is set to False.
• The option Acknowledge all events of the current filter is only
available when there really are visible alarms at E3Alarm. It is possible to
call this option without clicking any alarm. For such, just click on any area
of E3Alarm, and Acknowledgment pops up on screen. When you click
on it, the acknowledgement dialog appears. This option is disabled if
AllowAckCurrentFilter property is set to False.
• The option Acknowledge all events in the system is always available,
regardless of the existence of any visible alarms at E3Alarm. This option
is disabled if AllowAckAll property is set to False.
• Alarm acknowledgement can also be done by clicking or double-clicking
on the alarm row. To do so, just specify in column’ s properties
(E3Alarm’ s properties, tab Columns, [ # '] button) the way to
acknowledge the alarm in runtime: click or double-click on the column.

E3Alarm 261
E3 – User’s Manual

"!" ( +
In default settings, it is possible to sort the alarms by clicking the column headers of
E3Alarm. By clicking the header of the column you want, the field associated to it is
configured as the primary sort field. When you click on it again, the primary sort
field (ascending/descending) is inverted.
By clicking on a column’ s header and pressing [ ] key, its associated field is
configured as the secondary sort field. When you click on it again with [ ] key
pressed, the secondary sort field is inverted.
For further details about this behavior, see PrimarySortAscending,
PrimarySortField, SecondarySortAscending and SecondarySortField properties in
the section E3Alarm Properties in Scripts: Reference Manual.

Picture 214: Column sorting (example)

Above, the alarms are sorted by Area (ascending), and the DateTime (ascending,
too).

262 E3Alarm
,
, 0

Historics are modules responsible for storing application data in the Database. They
also store processes data for future analyses. You can create as many Historic files
as you wish, each one with different tags and/or expressions. Each Historic can
either create or use an independent table within the Database, whose storing can be
defined by Time or Event. Through CacheSize property, you can define the number
of records sent to the DB at a time. According to the settings for DBServer property,
the Database Server used by the Historic is defined.
To use this feature, follow these procedures:
Right-click the project name and select the option Insert – Historic.

Picture 215: Inserting a Historic

Historic 263
E3 – User’s Manual

When Historic is enabled, the following options are presented:

Picture 216: Historic Options

The available options are:

Available options for Historic view


OPTION DESCRIPTION
Adds fields to Historic table.

Removes the selected field from Historic table.

Specifies Historic table settings.

Generates structure in the Database.

Creates a primary-key.

Configures the indexes to be created in the Historic.

Keeps Historic unlinked to existing table.


Gets fields from original table.

Links Historic to existing table.

Access Historic’ s properties. To do so, right-click the object and access


the option Properties. Some of this object’ s properties can be configured
through the Properties List, with no need for creating scripts for that. In
case it is necessary to configure some property, just locate it in the
Properties List and make the necessary adjustments. For further
information on Properties, see “Scripts: Reference Manual”.

, 0 +
When a Historic is inserted in the project, the field E3TimeStamp is automatically
created in the table. E3TimeStamp shows the date/time in which the value was
searched (unlike Tag Timestamp). Remember that this is a read-only field. It is

264 Historic
E3 – User’s Manual

possible to link a tag to E3TimeStamp. If there is no link, it will use system’ s current
time for recording.
To create the table at Historic, you have to previously create its fields with button

Add field. To remove unwanted fields, click on the button Remove fields.
The following confirmation field then appears:

Picture 217: Message: Table field exclusion

The field Name defines table field name. The field Type defines table field type,
and field source is defined by Source. It is also possible to define whether this field
will be the table’ s primary key.

, / ( 1? 1
A Primary Key is either a field or a set of fields identifying each record from a
table in a unique manner. Just like the table’ s main index, it is used to associate data
among tables. Primary keys can be client codes, registration numbers, etc. After a
field had been defined as the table’ s primary key, the Database itself will ensure that
no duplicated data enters in the primary key field. For example, if the user tries to
place an order with the same number of a pre-existing order, the register will not be
created and an error message is shown.
There are two types of primary key: simple, or compound.
A Simple primary key is a field identifying each register of a table in a unique
manner. A Compound primary key can be formed by the combination of two or
more fields in a table. There can be cases when one single field is not able to act as
primary key because it shows repeated values. Furthermore, a table can only have
one Primary Key, be it simple or compound. That is, two or more fields cannot act
like a single table’ s primary field. However, this is not the case of a compound
primary field, where two or more fields make up for one primary field at a time.
Two things are important when choosing Primary Key fields:
• Neither double nor null values are allowed;
• In case there is no single identifier for a specific table , it is possible to use
a field numbers records sequentially.
You can configure the primary key in two different ways: by checking on Historic
window which table field is your preferred Primary Key, and then enabling it with
Historic 265
E3 – User’s Manual

the button ; or by clicking the icon , which opens Edit Index window, as
seen below:

Picture 218: Editing a Primary Key index

In this dialog box, just select your preferred field as Primary Key.
The available options are:

Available options for Edit Index window


OPTION DESCRIPTION
!& Specifies primary key’ s name.
!& !' % If enabled, it makes the values specified for
T ! Primary Key Index unique.
9! Shows the field name.
! Shows the selected field order.
7
# Shows table field type.
( ! ! Changes field order in the table, by moving it up or
down.

266 Historic
E3 – User’s Manual

By clicking OK button, you will confirm the specified field is the primary key. To
cancel the configuration, click Cancel button.
You can also assign an index to the table.

, !
Indexes are fields or sets of fields previously sorted by the Database in order to
improve the performance of the queries using this index. They are used to quickly
find records with a specific value in a column. Without an index, the Database has to
start with the first record and then read along all the table until the relevant records
are found. The larger the table, the higher the costs. If the table has an index for
those columns, the Database can quickly get a position to search in the data file with
no need for scanning all records. For example: If a table has 1,000 records, this is at
least 100 times faster than reading all records sequentially. Notice that if you need to
access most of all 1,000 records, it is faster to access them sequentially, avoid
accessing the disk.
The available types of indexes are: primary, unique, and index.
All columns types in the table can be indexed. The use of indexes on relevant
columns is the best way to improve table performance. The biggest amount of
indexes per table and index’ s largest size is defined by Database Server' s storage
device. You can create indexes on multiple columns. A multiple-column-index is an
ordered array with values created by concatenating values from indexed columns.

Indexes can be configured with the icon , which opens Index Editor:

Picture 219: Index Editor

The available options for this item are:

Historic 267
E3 – User’s Manual

Available options for Index Editor window


OPTION DESCRIPTION
- Displays the name of the existing index.
9 !' Shows the field to which the index is associated in the table.
/!! Opens a dialog box to add an index.
! Opens a dialog box to edit the selected index.
, : Removes the selected index.

When Add button is clicked, the following dialog box opens:

Picture 220: Adding indexes

The available options are:

268 Historic
E3 – User’s Manual

Available options for Add Index window


OPTION DESCRIPTION
!& Specifies index name.
!& !' % If enabled, it makes the values specified for index
T ! unique.
9! Shows the field name.
! Shows the selected field order.
7
# Shows table field type.
( ! ! Changes field order in the table, by moving it up or
down.

By clicking OK Button, you will confirm the indexes in the table. To cancel the
configuration, click Cancel Button.

, " ' . +
After the options above are defined, it is necessary to configure information from
Historic’ s table, and generate Database’ s structure. To do so, right-click Historic and
select the option Properties. Access Historic tab, and the following window is
displayed:

Historic 269
E3 – User’s Manual

Picture 221: Historic Properties

270 Historic
E3 – User’s Manual

Available options for Historic tab


OPTION DESCRIPTION
;' ' + )' ' : Defines the Database server to be used. This field is
equivalent to DbServer property.
) Defines table name. This field is equivalent to
TableName property.
: " %!:7
. Determines time variation (in ms), i.e.: how often data
from Historic are recorded in the table. This field is
equivalent to ScanTime property.
+'% !! Enables/disables old data discard from the table. “ Old
) data” is defined by the option F # % !!!
'. ) . This field is
equivalent to EnableDiscard property.
F # % !!! Determines the time interval (minutes, hours, days, or
'. ) months) during which data will be kept in the main
table. When data is older than the interval, they are
discarded. This field is equivalent to DiscardInterval
property, and the field for time unit selection for the
interval is equivalent to DiscardTimeUnit property.
+'% !! :7
. Determines discard interval (minutes, hours, days, or
months) of old data in the table. This field is
equivalent to VerificationUnit property.
+'% !!! ' ) Enables/disables the storage of discarded data on the
' ! backup table. This field is equivalent to
EnableBackupTable property.
F # % !!! Determines the time interval (minutes, hours, days, or
'. %6 # ) months) during which data will be kept in the backup
table. This interval must be longer than the one in the
field F # % !!! '.
) . This field is equivalent
BackupDiscardInterval property, and the field for
time unit selection for the interval is equivalent to
BackupDiscardTimeUnit property.
) Generates table structure in the Database. This option
is also available by right-clicking the Organizer, or

with the button ) .

Historic 271
E3 – User’s Manual

When Create Table is activated, the system shows this message:

Picture 222: System message

When the option Create Table is used, two tables are generate: the table specified at
Historic, and the table _Fields. This table has the information of each field registered
at Historic.

Picture 223: Fields

The available fields at Historic table are:

272 Historic
E3 – User’s Manual

Historic Table Fields


FIELDS DESCRIPTION
9 !+ ! ! Dead band.
9 !+ ! !; Unit used by the dead band (absolute values or percentage).
9 !+ '%# Field description.
9 !; Engineering Unit.
9 !@ ( ( Tag’ s highest value.
9 !+ Index of the field registered at Historic
9! " ( Tag’ s lowest value.
9! &
,% When it exceeds, data must be recorded automatically.
9 ! ,% Minimum variation time value to store data.
9 !- Historic field name.
9 !? 7 Field quality type. The available options are: 0: no quality; 1:
method previous to 1.21 version (where 0 = uncertain quality
and 1 = good quality); 2: tag’ s real quality.
9 !8 Field size.
9! % Link used by the field to obtain its values.
9 !7
# Field type.

The option Link Historic to existing table links the Historic to existing tables
in the Database. When this option is enabled, the system opens a dialog box to
specify which tables will be linked to the current Historic, according to the picture
below:

Historic 273
E3 – User’s Manual

Picture 224: Table selection to link with Historic

When the table is selected and OK Button is clicked, the system shows the
following message:

Picture 225: System’s message

By clicking Cancel, table fields keep their current configuration. However, by


clicking OK, all fields, indexes, and primary keys defined at Historic will be
replaced by the data from the selected table.

Two other buttons are enabled when this item is used: Keep Historic unlinked

to existing table, and Get fields from original table.

When the option Keep Historic unlinked to existing table is enabled, the
system shows the following message

274 Historic
E3 – User’s Manual

Picture 226: System’s message regarding Historic setup

By clicking Cancel, the table’ s current configurations will remain. However, by


clicking OK, the system restart the table with its initial fields, where only the default
field is enabled (E3TimeStamp).

Picture 227: Historic after the option Keep historic unlinked to existing table is enabled

The option Get fields from original table recovers data from the Historic linked
to the existent table that had been removed.

Picture 228: Historic using the option Get fields from original table

Historic 275
A

-
- " +

E3Storage is an alternative module for historic data recording. With this module, it
is possible to transform production data, processes, other collections, and
management information. This module allows a great amount of information to be
collected via OPC servers, Elipse drivers, databases in general, or even text files
and storage in commercial databases (Microsoft SQL Server, Access, and Oracle),
per historic objects defined by the user, in a compact and efficient way.
Information storage follows this logic: data are only recorded when there is a
significant variation, defined by the user. Variation verification is analyzed by the
BoxCar/BackSlope algorithm, which allows you to compact up to 93% of the data,
with total recovering of really useful information, depending on the defined dead
band.
Data recovering at E3 environment can be done through a personalized query tool,
which allows you to assemble your query structure graphically (similarly to what
happens with Microsoft Access® or SQL Server®), or even to edit SQL queries
directly. The extracted data can be visualized as a table (E3Browser) or a graphic
(E3Chart), or even as reports viewed on screen (report’ s PrintPreview resource),
printed directly on paper, or exported to several different formats such as Acrobat
PDF®, HTML, TXT, CSV, TIFF, and GIF, among others.
E3Storage’ s main function is recording data in a compact way. With this tool, it is
possible to recover with great accuracy all changes in the process’ variables, thus
occupying less space in the database.
Examples:

E3Storage 277
E3 – User’s Manual

Uncompactaded chart
Processed information contains several points.

Picture 229: Uncompacted chart

Compacted chart
The information is virtually the same as above, but there are fewer points.

Picture 230: Compacted chart

You can record data at E3Storage as follows:


• After the table is defined at E3Storage’ s properties, it is generated with the button
Generate Table, and data are recorded according to these definitions. If tag varies
in quality, data will also be recorded.
• Data will not be recorded if the variation occurs in a time interval that is smaller
than the minimum time interval programmed (9 ! , % ).
To insert this tool at E3, follow these procedures:
Right-click project’ s name and select the option Insert— E3Storage.
If necessary, configure object’ s properties. Some of its properties can be
configured through Properties List, with no need to create scripts for this.
For further information, see “Scripts: Reference Manual”.
278 E3Storage
E3 – User’s Manual

- " + 7+
Whenever E3Storage is created on screen, a list with record fields’ definitions is
shown.

Picture 231: Fields configured for E3Storage

To add a field, you can drag and drop a tag or property from the Organizer, or then
define field and source manually.
For further query on data, every search is performed from the path of the tag or
property being stored— as defined in the field %. Name property is only used in
case % field contains an expression (Ex: Driver1.Tag1+Driver1.Tag2).
So, if expressions are not used in the field, there will be no need for importing with
field name.
The available options are:

Available options for E3Storage’s view


OPTION DESCRIPTION
Adds fields in E3Storage’ a table.

Deletes the selected field from the table.

Determines E3Storage’ s table configurations.

Generates structure in the Database.

- Determines the name of the field at E3Storage’ s table.


7
# Determines the type of field at E3Storage’ s table.
% Determines data source to be associated to the field.
,% Minimum time for data insertion in the table (in milliseconds).
&
,% Maximum time for data insertion in the table (in milliseconds). If this
time exceeds, data are considered old, and therefore stored.
+ ! ! Dead band for algorithm calculation.
; Absolute value, or modification percentage.

E3Storage 279
E3 – User’s Manual

-! ' . 7+
You can access the configurations of the table used at E3Storage in two different
ways:

• Click Properties button ; or


• Right-click the object at Organizer and select the option Properties.

Picture 232: E3Storage’s fields

Each field in the tab E3Storage has a corresponding property. The available options
are:

280 E3Storage
E3 – User’s Manual

Available options for Storage tab


OPTIONS DESCRIPTION
;' ' ! )' ' : Defines the Database server to be used. This field is
equivalent to DbServer property.
) - Defines table name. This field is equivalent to
TableName property.
+'% !! Enables/disables old data discard from the table. “ Old
) data” is defined by the option F # % !!!
'. ) . This field is
equivalent to EnableDiscard property .
F # % !!! Determines the time interval (minutes, hours, days, or
' months) during which data will be kept in the main
) table. When data is older than the interval, they are
discarded. This field is equivalent to DiscardInterval
property, and the field for time unit selection for the
interval is equivalent to DiscardTimeUnit property.
+'% !! :7 Determines discard interval (minutes, hours, days, or
months) of old data in the table. This field is
equivalent to VerificationUnit property.
+'% !!! ' ) Enables/disables the storage of discarded data on the
' ! backup table. This field is equivalent to
EnableBackupTable property.
F # % !!! Determines the time interval (minutes, hours, days, or
' months) during which data will be kept in the backup
%6 # ) table. This interval must be longer than the one in the
field F # % !!! '.
) . This field is equivalent
BackupDiscardInterval property, and the field for
time unit selection for the interval is equivalent to
BackupDiscardTimeUnit property.
) Generates table structure in the Database. This option
is available by right-clicking the Organizer, or with

the button ).

After defining table configurations, it is necessary to click the button Create


Table. This action creates the table’ s structure in the database.
E3Storage’ s table is similar to a Historic’ s table: a definitions table, a main data
table, and a backup table (if chosen by the user). To check externally that it is a
compacted table, just verify if the table _Fields has been created.

E3Storage 281
E3 – User’s Manual

Picture 233: Fields table

This table has the following fields:

_Fields Table
FIELDS DESCRIPTION
9 !+ ! ! Dead band.
9 !+ ! !; Dead band unit. It can be a percentage of the latter value, or
a percentage of the engineering unit.
9 !+ '%# Field description.
9 !; Engineering unit.
9 !@ ( ( Tag’ s higher limit.
9 !+ Index of the field registered at E3Storage.
9! " ( Tag’ s lower limit.
9! &
,% When it exceeds, data must be recorded automatically.
9 ! ,% Minimum variation time to record data.
9 !- Field name.
9 !? 7 Field quality.
9 !8 Field size.
9! % Link used by this field to obtain its values.
9 !7
# Field type.

E3Storage’ s implementation makes it unnecessary for you to worry about the data
being stored in the tables. However, for a better understanding on how a module
works, and also to allow access to other programs, table format will be displayed
next.

282 E3Storage
E3 – User’s Manual

The options for table management described in the previous item actually apply to
three sets of tables generated by E3Storage, according to the field ) - .
This is because for every type of magnitude stored, a set of tables is automatically
generated: a set for analog tags, a set for texts, and a set of digital tags. Then, every
E3Storage can manage up to seven tables, in case you specify that the three types of
tags must be stored:

<TableName>_Fields
<TableName>
<TableName>_Text
<TableName>_Bit
<TableName>_Backup
<TableName>_Text_Backup
<TableName>_Dig_Backup

Table_Fields contains the description of the fields to be stored, which, generally


speaking, store the same information defined in E3Storage’ s fields configuration, in
addition to link an automatic index to each field.
The other tables have a fixed format:
E3TimeStamp: field that stores tag variation’ s timestamp. In case the
communication protocol supports sending time information, this field will have the
device’ s timestamp.
Quality: contains the information pertaining point’ s quality (bad, uncertain, good),
according to its use inside E3 and OPC regulations.
Index: relates the recorded field to its respective name stored in the table Fields.
Value: stored value. For the analog table, it is a Double type field; for the digital
table, it is an Integer; finally, for the text table, it is a variable sized NVARCHAR
field, as specified by the user in the field StringFieldSize.

-!
When you start executing the application, and receive the first notification on value
of each of the stored variables, E3Storage stores this value obtained with bad
quality, and soon with the quality sent, if it is good. This is because when you
perform a query, you will be able to visualize an interruption in storage.
Afterwards, as new values are obtained for the variables, an algorithm for record
checking interprets the sequence, and decides whether each point must be stored or
not. This algorithm, called BoxCar/BackSlope, creates two variation bands (whose
amplitude is given by the variable’ s dead band) from a recorded point. The
horizontal Band (BoxCar) defines a common dead band verification. A second
diagonal band (BackSlope) defines a variation band upwards or downwards.

E3Storage 283
E3 – User’s Manual

Thus, if the variable is in a continuous ascending or descending derivative, then it is


only necessary to store the initial and final points on this straight line. So, an analog
variable is only recorded if the value violates both horizontal and diagonal bands or
if there has been a change in quality (e.g.: the device’ s communication has been on
or off).

Notice that for digital and text fields it is necessary just a simple change in value or
quality (e.g.: device’ s communication is off) to record them.

-!! B 1 C "= 1D
The tool E3Query provides easier ways to perform data queries in E3Storage.
When you start configuring a query (E3Query) in an application that has a
E3Storage, this object enters the list of Databases available for query. This is
because the E3Storage acts like a new data “ supplier” , making it easier for you to
check data in time tables.
However, there is nothing to keep the user from performing queries directly to the
original Database, according to the table format previously mentioned. The
disadvantage of this procedure is that the query process is more complex.
Thus, once E3Storage is chosen as the data provider for the query, its configuration
interface presents several differences, as seen in the picture below. The first one is
that instead of displaying all tables, there will be a tree with all variables being
stored. Another difference is that you can choose from seven different functions for
data consolidation, as seen below:

LastValue: Returns the last value stored in the Database.


ArchivedValue: Returns a stored value regarding a given time point defined in the
variable TimeStamp. FunctionSubType function defines its subtype: Previous, Next,

284 E3Storage
E3 – User’s Manual

Interpolated, and ExactTime. The variables can also be defined in runtime from the
call of Query’ s SetVariableValue method.
TagAttribute: Returns a Tag attribute, defined in FunctionSubType, which can be
FieldDescription, FieldSource, FieldType, FieldEU, FieldLowEng - FieldHighEng,
FieldDeadBand, FieldDeadBandUnit, FieldMinRecTime, and FieldMaxRecTime.
CompressedDataNValues: Returns, for just one Tag, N values defined in the
variable NumVals, stored from an initial point in time, defined in the variable
StartTime. Variables can also be defined in runtime from the call of Query’ s
SetVariableValue method.
CompressedDataStartEndTime: Returns, for just one Tag, the stored values
between the intervals defined by the variables StartTime and EndTime. The
variables can also be defined in runtime from the call of Query’ s SetVariableValue
method.
SampledData: Returns, for one or more Tags, the interpolated (estimated) between
the time points defined by the variables StartTime and EndTime, in fixed intervals
defined by the variable TimeInterval. The variables can also be defined in runtime
from the call of Query’ s SetVariableValue method.
CalculatedData: Returns, for one or more Tags, the result of mathematical
operations applied to the data between the time points defined by the variables
StartTime and EndTime, in fixed intervals defined by the variable TimeInterval. The
types of calculations performed by this function are: Total, Minimum, Maximum,
Standard Deviation, Amplitude, Mean, and Median. The variables can also be
defined in runtime from the call of Query’ s SetVariableValue method.

For all these options, it is possible to indicate whether data with BAD quality will be
included in the answer, via “ Include Bad Quality” checkbox.

E3Storage 285
E3 – User’s Manual

Picture 234: Functions

-!"
If the chosen function has any type of filter, then it is necessary to inform filter value
before running the query, be it in the configuration dialog (via Visualize tab)or via
scripts, by using SetVariableValue method.
Examples:
Set Chart = Screen.Item(“E3Chart1”)
Set Query = Chart.Item(“Query1”)
Query.SetVariableValue "StartTime",Chart.DataIni
Query.SetVariableValue "EndTime",Chart.DataFim
Query.SetVariableValue
"TimeInterval",rs.Fields("SampleInterval").Value
Chart.Queries.UpdateData

286 E3Storage
E3 – User’s Manual

-!, = 1' C / D
When you are developing an external project in languages such as Java, Visual
Basic or Visual C++, and you want to obtain the data stored by E3Storage, it is
possible to perform Stored Procedures calls, created by E3Storage in the Database.
There are seven Stored Procedures, which correspond to some E3Query options as
seen below:

E3QUERY FUNCTION STORED PROCEDURE


LastValue E3LastValue
ArchivedValue E3Archive, E3ArchiveInterpolate
CompressedDataNValues E3NCompData
CompressedDataStartEndTime E3CompData
SampledData E3SampledData
CalculatedData E3CalculatedData

The Stored Procedures using Data parameters receive them in the call with a
FLOAT number, instead of a DATETIME. This increases E3’ s precision, since
using DATETIME format allows you maximum precision of 3 ms, while FLOAT
format allows 1 ms.
To make parameter passing easier, you can add to the Database a user function that
transforms DATETIME values into FLOAT, according to the example below:
CREATE FUNCTION E3GETFLOATVALUE (@dDate datetime)
RETURNS FLOAT AS
BEGIN
RETURN CAST(@dDate AS float)
END
There are some usage examples for this function in the next topics.

E3LastValue
Returns the last value stored in a given tag’ s Database. The formal description is:

E3LastValue( @strTableName varchar(100),


@strFieldName VARCHAR(100),
@strFilter VARCHAR(500),
@type int,
@bQuality int)

E3Storage 287
E3 – User’s Manual

Where:
@strTableName: Table Name
@strFieldName: Field Name
@strFilter: Filter options for the value (if necessary)
@type: Datatype: 0 = String, 1 = Bit, 2 = Analog
@bQuality: When different from 0, it will only include tags where quality is Good

Returns a one-row-query, with fields E3TimeStamp, Quality and FieldValue.


Usage example:
EXECUTE E3LastValue ‘TabelaXX’,’Tag234’,’’,2,1

E3Archive
Returns a value stored for an instant, according to ArchivedValue function. It is used
for Prev (0), Next (2) and ExactTime (3) subtypes. Formal description is:

E3Archive( @iSubType int,


@strTableName varchar(100),
@dData float,
@strFieldName VARCHAR(100),
@strFilter VARCHAR(500),
@type int,
@bQuality int)

Where:
@iSubType: Function subtype, 0=previous, 2=next, 3=exact instant
@Data: Time instant for the search, in FLOAT format.

Returns a one-row-query, with fields E3TimeStamp, Quality and FieldValue.


Usage example:
DECLARE @MyDate FLOAT
SET @MyDate = dbo.E3GETFLOATVALUE('10-10-2005
12:00:00')
EXECUTE E3Archive 0,'STO22',
@MyDate,'Dados.TagDemo1','',2,0

288 E3Storage
E3 – User’s Manual

E3ArchiveInterpolate
Returns a given instant’ s imediately previous and next points, according to
ArchivedValue function, but only for Interpolate subtype. Formal description is:
E3ArchiveInterpolate( @strTableName varchar(100),
@dData float,
@strFieldName VARCHAR(100),
@strFilter VARCHAR(500),
@type int,
@bQuality int)

Where:
@dData: Time insntant for the search, in FLOAT format.

Returns a teo-row-query, with fields E3TimeStamp and FieldValue.


Usage example:
DECLARE @MyDate FLOAT
SET @MyDate = dbo.E3GETFLOATVALUE('10-10-2005
12:00:00')
EXECUTE E3ArchiveInterpolate 'STO22',
@MyDate,'Dados.TagDemo1','',2,0

E3NCompData
Equivalent to CompressedDataNValues function. Formal description is:

E3NCompData( @strTableName varchar(100),


@dData float,
@strFieldName VARCHAR(100),
@iNValues int,
@strFilter VARCHAR(500),
@strOrder VARCHAR(100),
@type int,
@bQuality int)
Where:
@iNValues: Amount of values you want;
@strOrder: Orders the query by a field other than TimeStamp.

E3Storage 289
E3 – User’s Manual

Returns a query with the requested number of rows, if found, with fields
E3TimeStamp, Quality and FieldValue.
Usage example:
DECLARE @MyDate FLOAT
SET @MyDate = dbo.E3GETFLOATVALUE('10-10-2005
12:00:00')
EXECUTE E3NCompData 'STO22',
@MyDate,'Dados.TagDemo1',20,'','',2,0

E3CompData
Equivalent to CompressedDataStartEndTime function. Formal description is:

E3CompData( @strTableName varchar(100),


@dStartData float,
@dEndData float,
@strFieldName VARCHAR(100),
@strFilter VARCHAR(500),
@strOrder VARCHAR(100),
@type int,
@bQuality int)

Where:
@dStartData: Start Data, in FLOAT format;
@dEndData: Final Data, in FLOAT format;
@strOrder: Orders the query by a field other than TimeStamp.

Returns the number of rows found in the interval, with the fields E3TimeStamp,
Quality and FieldValue.
Usage example:
DECLARE @MyStartDate FLOAT
DECLARE @MyEndDate FLOAT
SET @MyStartDate = dbo.E3GETFLOATVALUE('10-10-2005
12:00:00')
SET @MyEndDate = dbo.E3GETFLOATVALUE('10-10-2006
12:00:00')
EXECUTE E3CompData 'STO22',
@MyStartDate,@MyEndDate,'Dados.TagDemo1', '','',2,0

290 E3Storage
E3 – User’s Manual

E3SampledData
Equivalent to SampledData function. Formal description is:

E3SampledData( @strTableName varchar(100),


@iModMin int,
@dStartDate float,
@dEndDate float,
@strFields VARCHAR(1000),
@strWhere VARCHAR(4000),
@type int,
@bQuality int)

Where:
@iModMin: Interval (in seconds) for interpolationg each value within the interval;
@dStartData: Start Data, in FLOAT format;
@dEndData: End Data, in FLOAT format;
@strFields: Fields list.

Usage example:
DECLARE @MyStartDate FLOAT
SET @MyStartDate = dbo.E3GETFLOATVALUE('10-10-2004
12:00:00')
DECLARE @MyEndDate FLOAT
SET @MyEndDate = dbo.E3GETFLOATVALUE('10-10-2006
12:00:00')
EXECUTE E3SampledData
'STOXX',10,@MyStartDate,@MyEndDate,'Dados.TagDemo1'
,'',2,1

E3Storage 291
E3 – User’s Manual

E3CalculatedData
Equivalent to CalculatedData function. Formal description is:

E3CalculatedData( @iSubType int,


@strTableName varchar(100),
@iModMin int,
@dStartDate float,
@dEndDate float,
@strFields VARCHAR(1000),
@strWhere VARCHAR(4000),
@type int,
@bQuality int)
Where:
@iSubType: Calculation subtype: 0=Total, 1=Minimum, 2=Maximum, 3=Standard
Deviation, 4=Amplitude, 5=Average e 6=Median.

Usage example:
DECLARE @MyStartDate FLOAT
SET @MyStartDate = dbo.E3GETFLOATVALUE('10-10-2004
12:00:00')
DECLARE @MyEndDate FLOAT
SET @MyEndDate = dbo.E3GETFLOATVALUE('10-10-2006
12:00:00')
EXECUTE E3CalculatedData
0,'STOXX',10,@MyStartDate,@MyEndDate,'Dados.TagDemo
1','',2,1

292 E3Storage
88 "= 1

The E3Query object helps in the definition process of application Database queries.
Every time E3Browser objects or Report will search for data of the Database, it is
necessary to send a command to it, so that one knows which data are desired for that
object. Therefore, every time an application needs to record or search for data stored
in a Database, commands are sent in SQL (Structure Query Language) format.
The query features a friendly interface allowing query construction in a graphical
form and the immediate follow-up of the SQL syntax that is being generated. The
query allows showing data from the last “ N” days, hours or months, final/initial date
and queries.
Query wizard is responsible for creating the text making the filter/query, with no
need of the user know details such as data, etc.
In order to use this feature, follow the procedures below:
Right-click the project screen and select the options Insert – Query.

Picture 235: Query object

NOTE: When a Report of E3Browser object is created, Query object is


automatically added to it. However, you can also insert this object in a Data Folder
or on the Screen. For further details, see the corresponding chapters.
Before defining the query, it is necessary to inform Database Server that the query
will search for the data. For that purpose, select in the list.

E3Query 293
E3 – User’s Manual

Picture 236: Database Server Definition

Query setup depends on the object in which it is related.

Picture 237: Query Settings

In order to check which the Query setup needed is, see the chapters Reports and
E3Browser.
Some of the properties of the query can be setup through the Properties List, with no
need of creating scripts for that. In case it is necessary to setup some property, it is
enough to locate it in the Properties List and make the adjustments necessary.

294 E3Query
E3 – User’s Manual

8 + = 1
When an E3Browser, a Report or an E3Chart is created in the project, they
automatically insert a query as a child, named “ Query1” . In order to use this feature,
follow the procedures below:
When clicking query, a window is shown asking the identity of the
application Database Server:

Picture 238: Database Server Definition in the Query

After defining the Database server, a new window will appear with the
tables found in the Database, allowing its selection:

Picture 239: Adding a table

Select the tables to be part of the query and click the Add Button.
After defined the tables, the query definition window is shown, where
five main horizontal subdivisions are highlighted:
• General functions;
• Tables;
• Columns;
E3Query 295
E3 – User’s Manual

• SQL syntax;
• Query result or preview
The following screen is shown:

Picture 240: Query setup

Above windows can also be accessed Right-clicking the object and selecting the
option Setup.

8! 4
In the first subdivision we highlight the following elements:

Picture 241: General Functions

296 E3Query
E3 – User’s Manual

Available options for Query Editor window


OPTION DESCRIPTION
/!! ) Allows returning to the previous window adding one or
more than one table;
? 7 Makes the SQL query, showing the results in the lower
window division;
!4 )' Allows the definition of default values for user-defined
variables. These variables can also have its values changed
in execution through SetVariableValue() method;
) ? ! % Enabling this option, the user is asked whether he desires to
! leave the existing connection to the query visual
environment in order to directly edit the SQL command.
When choosing this option it is possible to return to visual
editing, however the manually changed syntax will be
overwritten in the first modification.

8" ' .
In this item are shown the tables selected for the query, which can be excluded when
they are closed. New tables can be inserted through the Adding tables Button.

Picture 242: Inserting Table

In order to select all fields of the table to be part of the query, click the first item in
the text box corresponding to the symbol “ *” . In order to add a specific field,
simply click the corresponding selection box.

E3Query 297
E3 – User’s Manual

Picture 243: Table

Due to the performance, it is important to add to the query only the fields that are
really interesting for analysis.

8, (
In the columns division are shown the chosen fields.

Picture 244: Columns division

In these chosen fields are defined the following properties to each of them:

298 E3Query
E3 – User’s Manual

Available options for column setup


OPTION DESCRIPTION
' Shows the name of the selected columns. When
clicking this field, we can redefine the column
desired.
Allows that another name to be defined for the
Column (also known as Alias).
) Shows the name of the field origin table;
" Enable/disable the field;
! ( Allows sorting the values: non sorted, ascending
(lesser values first) and descending (greater values
first);
! Defines priority when more than one field has
ordering;
#)7 Allows data to be grouped at each new value of the
field under discussion;
9 % Allows defining the execution of a function for the
field;
9 Defines a query criterion, such as for example, date
intervals.

When defining a filter, the window below must appear, allowing to define the type
of comparison and the value to be compared.

Picture 245: Filter definition

The type of comparison data can be defined when clicking the corresponding text
box and a list of options must appear (Empty, NULL, Boolean, Integer, Long,
Currency, Single, Double, Date and String).
E3Query 299
E3 – User’s Manual

Picture 246: Filter definition and settings

Comparison value must be fixed (E.g.: 123, 45, “ ABCD” , etc) or a variable to be
defined by the user. In order to create a variable, simply inform some name between
the symbols below:
<% %>. : if the value is numerical;
‘<% %>’ . : if it is a text (string);
#<% %>#. : if the value is a date;
Variable value to be defined through the Button Edit variables or through
SetVariableValue() method, called via Script.

8- = 1
Here is shown the SQL syntax resulting from the parameterization accomplished.
You can edit the query directly if you want, by manually inserting SQL commands.

88 = 1
When clicking the Button Generate Query, it is possible to make its preview,
whose result will be shown in the lower part of the window. Your can also define a
maximum number of records for search, in order to make trial process faster.

300 E3Query
E3 – User’s Manual

Picture 247: Query Result

89 7B 17
Setup and confirm whether the query is correct is only one of the steps in the use of
a query. The use in runtime and the modifications of the values of the filters defined
for the query can be seen in the script below. Query.SetVariableValue function is
responsible for the query parameterization according to the values passed via script.
Set query = Screen.Item("E3Browser1").Item("Query1")
Query.SetVariableValue "IniDate",_
Application.GetObject("Data.InternalTag1").Value
Query.SetVariableValue "FinalDate",_
Application.GetObject("DataFH.InternalTag2").Value
Screen.Item("E3Browser1").Requery()
Requery() method allow new query parameters to be really used, as a new query is
made respecting these new values.

8: 7 7 B 1 +
Another interesting use of the query is to work with record sets. After a query is
made, it is possible to capture the corresponding record set and work with records
line by line, run new queries, etc. In the command line
RS =IniScreen.E3Browser1.Query1.GetADORecordset(),
RS variable assumes all characteristics of a record set. The advantage of the use o
this feature is that if the database properties are changed, it is not necessary to adjust
each script accessing this database.

E3Query 301
9
9 ") &

8
E3Browser is an ActiveX control used for viewing data stored in the Database. You
can setup queries using filters of diverse types of data, assign colors to each column,
among other settings. This object is used to view histories, alarms or any table
existing in the Database.

Picture 248: E3Browser

To use this feature, follow the procedures below:


Insert the E3Browser in the project, by right-clicking desktop area, and
selecting E3Browser object.
E3Browser uses Query object to help user in the process of queries
definition in the application Database. For further information, refer to the
corresponding chapter.
In case it is necessary, setup E3Browser properties. Some of the
properties of this object can be setup through the Properties List, with no
need of creating scripts for that. In case it is necessary to setup some
property, it is enough to locate it in the Properties List and make the
necessary adjustments.

9 ") & = 1 $.2


The Query is an E3 object that helps user in the process of definition of queries in
the application Database. Every time E3Browser searches for data in the Database, it
is necessary to send a command so that one knows which data are desired for that
object. Therefore, every time an E3 application needs to record or search for data
stored in a Database, the commands are sent in SQL format (Structure Query
Language).
E3Browser 303
E3 – User’s Manual

Picture 249: Query in the E3Browser object

The Query features a friendly interface allowing the queries construction in a


graphical form and the immediate follow-up of the SQL syntax that is being
generated.
NOTE: The E3Browser cannot load queries located in the server.
Query tab shows the fields available in the query. Such fields can be accessed
through the Configure Button, which opens query settings wizard.

Picture 250: Query tab

For further information on Queries, see chapter Queries.

304 E3Browser
E3 – User’s Manual

9! $ ") & +
Settings available in the E3Browser are the following:

9! 1 +
Through the Style tab you can define the cells division appearance (grid) and the
dimensions of rows and columns. Through "Options" tab you can define data update
regime and the type of selection of cells.

Picture 251: E3Browser Style Settings

Each field of Style tab has a corresponding property. Properties available are the
following:

E3Browser 305
E3 – User’s Manual

Available options for Style tab


OPTION DESCRIPTION
! 7 Specifies the E3Browser grid style. This field is
equivalent to the E3Browser GridLinesType property.
@ ! @ ( Specifies the E3Browser header height (in pixels). This
field is equivalent to the E3Browser FixedRowHeight
property.
J' % "! Specifies the width of the 1st column in the table. This
field is equivalent to the E3Browser FixedColumnHeight
property.
, "@ ( Specifies the height of the remaining rows in the table.
This field is equivalent to the E3Browser RowHeight
property.
1! Specifies the width of the columns of the table. This field
is equivalent to the E3Browser ColumnWidth property.

9!! +
In the Options tab, inform the time interval in which the data will be recorded and
updated in the E3Browser. Updating must occur in milliseconds(ms). You can
choose the option of not updating data, causing to recordings to remain unchanged.
In the option Type of selection, it will be informed which type of selection will be
done in the table.

Picture 252: Options tab

Each field of Options tab has a corresponding property. Properties available are the
following:

306 E3Browser
E3 – User’s Manual

Available options for Options tab


OPTION DESCRIPTION
, ' ! Specifies the time interval in which the data will be
updated. This value must be superior to 1000 ms. This field
is equivalent to E3Browser SelectRow property.
% 7
# Specifies the type of selection in the E3Browser table. This
field is equivalent to E3Browser SelectRow property.

9!" ") & +


Color tab specifies E3Browser colors referring to the columns and cells of it. If the
color desired is not in the default color palette, it is necessary to set it up through the
Button Edit Custom Color, by which color editing box will be opened.

Picture 253: Color tab settings

The available options are:

Available options for Color tab


OPTION DESCRIPTION
# ' Specifies color according to the selected property.
Specifies the set of colors to be used: default colors or
Windows colors.
Specifies color of the selected property.
! ' Edits a new custom color, different from default colors.

NOTE: Tab name comes in the language your Windows was configured, and not
necessarily in E3’ s language.

E3Browser 307
E3 – User’s Manual

9!, ") & 7 +


In the tab Font, you can define font’ s specifications in the E3Browser.

Picture 254: Font tab settings

The available options regard font type, size, and effects.


NOTE: Tab name comes in the language your Windows was configured, and not
necessarily in E3’ s language.

308 E3Browser
:
: "

9
The object E3Chart is an ActiveX component specially created to work alongside
E3. With this object, it is possible to display charts with tags in real-time variation,
as well as historic data recorded in a Database.
Each data sequence is represented at E3Chart with pens. These pens can be
accessed, included, or removed when you access Pens Collection. Data are
associated to each pen, be the data tags or queries. Each query can be created,
removed, or accessed via Query Collection, making history data available for pens,
which can be filtered and organized. It is possible to create several axes with
different scales to be associated to pens data. E3Chart’ s architecture is:
E3Chart

Pens Collection

Pen

Legend

Legend Column Caption:

Object
Queries Collection

Collection
Query

Axes Collection

Axis

E3Chart 309
E3 – User’s Manual

To use E3Chart’ s features, follow these procedures:


Right-click on the Screen and select the option Insert— E3Chart.

Picture 255: Inserting an E3Chart on the Screen

If necessary, configure E3Chart properties. Some this object’ s


properties can be configured through Properties List, with no need for
creating scripts. To configure some property, just locate it in the window
and perform the necessary adjustments. For further information on
E3Chart’ s properties, see Scripts: Reference Manual.

: " +
To access E3Chart settings, right-click the object and select the option Properties.

: " +
With the tab Item, it is possible to view the object name and assign a description to
it.

Picture 256: Item tab

Each field of the Item tab has a corresponding property. The available options are:

310 E3Chart
E3 – User’s Manual

Available options for Item tab


OPTION DESCRIPTION
- Determines the object’ s name. This field is equivalent to
E3Chart’ s Name property.
+% Free text that enables the documentation of the object’ s
characteristics and functionalities by the object’ s
programmer. This field is equivalent to E3Chart’ s
DocString property.

The tab Position tab specifies E3Chart’ s position on the Screen.

Picture 257: Position Tab

Each field in this tab has an equivalent property. The available options are

Available options for Position tab


OPTION DESCRIPTION
0 ! Defines the object’ s left horizontal coordinate, in
HIMETRIC units. This field is equivalent to E3Chart’ s X
property.
D ! Defines the object’ s upper vertical coordinate, in
HIMETRIC units. This field is equivalent to E3Chart’ s Y
property.
1! Determines object’ s width. This field is equivalent to
E3Chart’ s Width property.
@ ( Determines object’ s height. This field is equivalent to
E3Chart’ s Height property.

E3Chart 311
E3 – User’s Manual

With the tab General, you can specify chart’ s style and appearance.

Picture 258: General Tab

Each field of the General tab has a corresponding property. The options available
are the following:

Available options for General tab


OPTION DESCRIPTION
" Shows chart’ s title. This field is equivalent to
E3Chart’ s Title property.
% S ' Determines chart’ s background color. This field is
)%
6( !" equivalent to E3Chart’ s BackColor property.
( !S
' Determines grid’ s background color. This field is
)% 6( !" equivalent toE3Chart’ s GridBackColor property.
;#! : Determines the interval between drawing updates in
' % !A
'C the chart. This field is equivalent to E3Chart’ s
RefreshTime property.

: ! " +
The object Axis Collection contains E3Chart’ s set of axes. Axes are scales outlining
E3Chart’ s grid.
With the tab Axis, you can add and remove axes from Axis Collection, as well as
configure their properties individually.

312 E3Chart
E3 – User’s Manual

Picture 259: Axis tab

Whenever an E3Chart is created, two main axes are automatically created:


Horizontal Axis and Vertical Axis. These are default axes, which cannot be
removed. When you click the button Add, a new axis is created in the chart, and a
settings window is opened to configure Axis properties. This window has two tabs,
General and Scale, and it can also be accessed by clicking the button Configure.
The tab General contains the information that identifies the axis in the system.

Picture 260: Axis Properties


E3Chart 313
E3 – User’s Manual

Each field in this tab has an equivalent method or property. The available options
are:

Available options for General tab


OPTION DESCRIPTION
- Determines axis name. This field is equivalent to
Axis’ Name property.
' Determines axis’ position in the chart: to the left or to
the right (vertical axis), at the bottom or at the top
(horizontal axis). This field is equivalent to Axis’
Position property.
&' Shows the axis in both sides of the chart, creating a
mirror effect. This field is equivalent to Axis’ Mirror
property.
/&' Determines axis’ title. This field is equivalent to Axis’
Title property.
% % Specifies scale color. This field is equivalent to Axis’
Color property.
4' ) Enables axis visibility in the chart. This field is
equivalent to Axis’ Visible property.
! % Determines grid line color. This field is equivalent to
Axis’ GridColor property.
'7 Determines grid line’ s style in the chart. This field is
equivalent to Axis’ GridStyle property.
"( ! ' Enables grid lines viewing. This field is equivalent to
Axis’ ShowGrid property.
+:' : Determines the interval between scale ticks, if
/ %option is disabled. If the scale is not
numerical, it is possible to select the time unit to
which this interval refers. This field is equivalent to
Axis’ SetTickSpacing() method.
/ % Automatically selects the interval between scale ticks.
This field is equivalent to Axis’ SetTickSpacing()
method, with 0 (zero) as the interval value.
- ) ' )!:' ' Determines the number of minor ticks on the scale,
This field is equivalent to Axis’ MinorTicks property.

Click [/##7
] to view the changes made in this window, and [ F] to save them.

The tab Scale defines axis scale settings.

314 E3Chart
E3 – User’s Manual

Picture 261: E3Chart scale settings

Each field in this tab has an equivalent method or property. The available options
are:

E3Chart 315
E3 – User’s Manual

Available options for Scale tab


OPTION DESCRIPTION
- %'% Establishes the axis as a numerical scale. This field is
equivalent to Axis’ ScaleType property. Settings options
for the numerical scale are:
• Minimum: Determines the scale’ s
minimum value. This field is equivalent to
Axis’ SetMinMax() method.
• Maximum: Determines the scale’ s
maximum value. This field is equivalent
toAxis’ SetMinMax() method.
• Swap: Inverts the order of values on the
scale. This field is equivalent to Axis’
Inverse property.
" ' ! A
, > Shows time interval to be displayed by the axis, always
C related to the current time. This field is equivalent to
Axis’ SetRealTimePeriod() method.
: A
@' % Specifies a fixed-time interval. Settings options for the
! C numerical scale are:
• From: Initial timestamp for the interval.
• To: Final timestamp for the interval.
• Select Button: Selects the time interval
This field is equivalent to Axis’ SetHistoricPeriod()
method..
9 Specifies axis’ value formatting, which can be either
automatic or customizable. This field is equivalent to
Axis Format() method.

Click [/##7
] to view the changes made in this window, and [ F] to save them.

: " / +
The object Pen Collection contains E3Chart’ s set of pens. Each pen is configured to
show real time and/or historic data from the query.
With the tab Pens, you can add and remove pens from Pen Collection, as well as
configure their properties individually.

316 E3Chart
E3 – User’s Manual

Picture 262: Tab Pens

Whenever you add a new pen, select a new pen and click the button Configure, or
double-click a previously created pen, the pen’ s properties configuration window is
open. This window has three tabs: General, Data, and Style.
General tab presents the information that identifies the pen in the system.

Picture 263: Pen’s general properties

Each field in General tab has a corresponding property. The available options are:
E3Chart 317
E3 – User’s Manual

Available options for General tab


OPTION DESCRIPTION
- Indicates pen’ s name. This field is equivalent to Pen’ s
Name property.
Determines pen’ s line color. This field is equivalent to
Pen’ s Color property.
4' ) Indicates pen’ s visibility status in the chart. This field is
equivalent to Pen’ s Visible property.

Click [/##7
] to view the changes made in this window, and [ F] to save them

The tab Data has information on pen type.

Picture 264: Pen type Properties

Each field in the tab Data has a corresponding property The available options are:

318 E3Chart
E3 – User’s Manual

Available options for Data tab


OPTION DESCRIPTION
7
# Determines the type of pen being used. This field is
equivalent to Pen’ s DataSourceType property.
4 % &' 6 Name of the link used to plot the data on a vertical scale.
This field is equivalent to Pen’ s YLink property.
@ 8 &' 6 Name of the link used to plot the data on a horizontal
scale. This field is equivalent to Pen’ s XLink property.
;' ' # Enables/disables timestamp. This timestamp works
alongside tag’ s value, indicating the moment when this
value was altered. This field is equivalent to Pen’ s
UseTimeStamp property.
% T 7 Determines the local query to be used with Axis data.
This field is equivalent to Pen’ s QueryName property.
& T 7 Determines the external query used in the chart (that is, a
query coming from outside E3Chart).
4 % &' ! Name of the query field used to plot the data on a
vertical scale. This field is equivalent to Pen’ s YField
property.
@ 8 &' ! Name of the query field used to plot the data on a
horizontal scale. This field is equivalent to Pen’ s XField
property.
;' %T 7 Indicates whether the pen will use automatic query.
Automatic query is not used if E3Chart uses a user-
customized SQL, if it is using E3Storage, or if it has
many tables. This field is equivalent to Pen’ s AutoQuery
property.
4 % &' Specifies the vertical axis. This field is equivalent to
Pen’ s ScaleY property.
@ 8 &' Specifies the horizontal axis. This field is equivalent to
Pen’ s ScaleX property.

Click [/##7
] to view the changes made in this window, and [ F] to save them

E3Chart 319
E3 – User’s Manual

The tab Style specifies pen style.

Picture 265: Pen Style

Each field in the tab Style has a corresponding property. The available options are:

320 E3Chart
E3 – User’s Manual

Available options for Style tab


OPTION DESCRIPTION
7 Specifies pen style. This field is equivalent to Pen’ s
PenType property.
7 Specifies pen line style. This field is equivalent to
Pen’ s PenLineStyle property.
%
6 '' Determines line’ s thickness, in pixels. This field is
equivalent to Pen’ s Width property.
%
6( ! Specifies line’ s background color. This field is
equivalent to Pen’ s BkColor property.
+% Specifies the documentation that can be displayed in
the caption. This field is equivalent to Pen’ s
DocString property.
) ( Enables high alarm checking. This field is equivalent
to Pen’ s EnableHighLimit property. Corresponding
Value field enables you to establish this alarm’ s limit;
it stands for HighLimit property.
) " Enables low alarm checking. This field is equivalent
to Pen’ s EnableLowLimit property. Corresponding
Value field enables you to establish this alarm’ s limit;
it stands for LowLimit property.
/ % Pen color, when in alarm. This field is equivalent to
Pen’ s LimitPenColor property.
/ )%
6( !% Pen’ s background color, when in alarm. This field is
equivalent to LimitPenBkColor property.
F # 7 '. Specifies the number of samples in real time pens.
' #' This field is equivalent to Pen’ s BufferSize property.
% ! Specifies design style (analog or digital). This field is
equivalent to Pen’ s DigitalData property.
' ! '% . ' Changes design style. This field is equivalent to Pen’ s
ScanValue property.

Click [/##7
] to view the changes made in this window, and [ F] to save them

Pen design style is defined in the field Point connection mode, with the following
options: Analog, with straight lines linking the points, or Digital, with instant
variation.
Pen’ s appearance, according to the configured option, can be seen below:

E3Chart 321
E3 – User’s Manual

Picture 266: Analog linking mode between points

Picture 267: Digital linking mode between points

Picture 268: The mode in which the pen is shown when the scan is considered is represented in green color, and
when this field is disabled, it is represented in blue and pink colors.

322 E3Chart
E3 – User’s Manual

: , + +
The Legend is used to show the pens visible in the chart, as well as information
about them, such as color, pen name, status, etc.

Picture 269: Caption Object in runtime

With the tab Legend, it is possible to configure information referring to the object
Legend, and its columns.

Picture 270: Caption Object Properties

E3Chart 323
E3 – User’s Manual

Most fields in this tab have a corresponding property. The available options are:

Available options for Legend tab


OPTION DESCRIPTION
" ( ! Makes legend visible. The field next to this one
defines legend position. This field is equivalent to
Legend’ s Visible property, and the field for legend
position selection is equivalent to Legend’ LegendPos
property.
8 Determines legend’ s size, in pixels. Depending on its
position, it can be its width or its height. The other
dimension then follows E3Chart’ s. This field is
equivalent to Legend’ s Size property.
/: ) % ' Lists the columns available for visualization in the
legend. The available options for this item are:
• Pen color: Specifies pen color.
• Pen description: Shows the description
Pen’ s DocString property.
• Pen name: Pen name.
• State: Shows pen’ s current working state
of the pen. For further details, see the
topic “ Legend Status Column” .
• XTag name: Shows the name of the tag
associated to the X axis.
• XTag value: Shows the search value for
X axis.
• XScale: Shows the name of the X axis
associated to the pen.
• YTag name: Shows the name of the tag
associated to the Y axis.
• YTag value: Shows the search value for
Y axis.
• YScale: Shows the name of the X axis
associated to the pen.
% !% ' Shows the columns selected for the Legend.
/!! Adds a column to the legend. This button is
equivalent Legend’ s InsertColumn() method.
# ' Opens a dialog box for setting up Legend’ s column
fields properties.
, : Removes the selected column from the legend. This
Button is equivalent to Legend’ s Remove() method.
;#<
+" ' Move the columns in the legend. These fields are
equivalent Legend’ s ChangeColumnPos() method..
"% ' Enables legend header. This field is equivalent to
Legend’ s ShowHeader property.

324 E3Chart
E3 – User’s Manual

When you click Properties button, a dialog box is shown for configuring the object
Legend Column.

Picture 271: Column properties

Each field from this dialog box has a corresponding property. The available options
are:

Available options for Name column properties window


OPTION DESCRIPTION
"! Defines column initial width, in pixels. This field is
equivalent to Legend’ s Width property.
Determines column title. This field is equivalent to
Legend’ s Caption property.
& ( Determines text alignment in legend column. This field is
equivalent to Legend’ s TextAlign property.
9 Specifies the formatter for the selected column. This field
is equivalent to Legend’ s Format property.

: - = +
Queries are necessary objects for showing Historic values at E3Chart. With the tab
Queries it is possible to add or remove queries, as well as to configure them.

E3Chart 325
E3 – User’s Manual

Picture 272: Queries Settings

The available options are:

Available options for Queries tab


OPTION DESCRIPTION
? ' Shows the query selected for edition.
( Configures the selected query.
/!! Adds a new query. For further information on
queries, see the chapter “ Queries” , in this manual.
, : Removes the selected query.

NOTE: When the buttons [/!!] or [ ( ] are configured, a dialog box is open
to specify the Database Server that keeps the query. Query definition procedures can
be found in the chapter Queries.

326 E3Chart
E3 – User’s Manual

: 8 4 +
With the tab Font, it is possible to configure E3Chart’ s header and rows font.

Picture 273: Font tab

The available options regard font type, size, and effects.


NOTE: tab’ s name comes in the language your Windows was configured.

:! + "
In the next topic, you will see some examples on how to use E3Chart.

:! . + . +/ "
The following example shows how to enable/disable a pen data
connection at E3Chart. To do so, follow these procedures:
Create an E3Chart on Screen.
Access E3Chart’ s properties and select the tab Pens. Create a new real-
time pen and link it to a Demo tag on the vertical axis.
Create two new command buttons on Screen. In the first one, write
“ Disable pen” in Caption property.

E3Chart 327
E3 – User’s Manual

Access this button’ s properties and select the tab Scripts. In command
button’ s Click event, write the following script:
Sub CommandButton1_Click()
Set Pen1= Screen.Item("E3Chart1").Pens.Item("Pena1")
Pen1.Disconnect()
End Sub
In the second command button, write “ Enable pen” in Caption
property.
Access this button’ s properties and select the tab Scripts. In command
button’ s Click event, write the following script:
Sub CommandButton2_Click()
Set Pen1= Screen.Item("E3Chart1").Pens.Item("Pena1")
Pen1.Connect()
End Sub
Run the project, and check the results.

:!! +0 " & 7 (


The following example shows how to update E3Chart with historic data from the
last hour. For this example, it is necessary that you have a query to a database table
previously created.
Create an E3Chart on Screen.
Access E3Chart’ s properties, select the tab Axis, and click horizontal
axis’ Configure option. Then select the tab Scale, and select the option
Time Interval (Historic Data).
Access the tab Queries, and click the button Add. The system opens a
dialog box in which you must indicate the name of the database server
where the query table is stored.
Select the database server in the dialog box, and click OK. The system
then opens Query’ s configurations.
In the historic table, select the field E3TimeStamp, as well as some
other data field you wish to display in the graphic.
In the field E3TimeStamp, create a filter according to the
specifications below:

328 E3Chart
E3 – User’s Manual

Picture 274: Filter to be created in the field E3TimeStamp

After the filter has been created according to the specifications above,
click [ F].
Create a new pen. Access this pen’ s properties and, on the tab Data,
item Pen Type, select the option Historic, and then indicate the
configured query field.
Indicate a table field in the item Vertical Axis Field. In the item
Horizontal Axis Field, indicate the field E3TimeStamp. Click OK.
Create a new button on Screen and, in its Caption property, write
“ Update Historic E3Chart” .
Access this button’ s scripts and, in Click event, write the following
code:
Sub CommandButton3_Click()
Set Chart = Screen.Item("E3Chart1")
Query.SetVariableValue "Ini", now – 1/24
Query.SetVariableValue "End", now
Chart.HorScaleBegin = now – 1/24
Chart.HorScaleEnd = now
Chart.Queries.UpdateData ()
End Sub
Run the project and see the results.

E3Chart 329
E3 – User’s Manual

:!" . +5 . + 6 "
The following example shows how to enable/disable pen visualization at E3chart.
To do so, follow these procedures:
Create an E3Chart on Screen.
Access E3Chart’ s properties and select the tab Pens. Create a new real-
time pen and associate it to a Demo tag, on the horizontal axis.
Create two buttons on Screen. In the first one, write “ Disable pen
visualization” in Caption property.
Access this button’ s properties and select the tab Scripts. In command
button’ s Click event, write the following event:
Sub CommandButton1_Click()
Set Pen1= Screen.Item("E3Chart1").Pens.Item("Pen1")
Pen1.Visible = False
End Sub
For the second command button, change Caption property to “ Enable
pen visualization” .
Access this button’ s properties and select the tab Scripts. In command
button’ s Click event, write the following script:
Sub CommandButton2_Click()
Set Pen1 = Screen.Item("E3Chart1").Pens.Item("Pena1")
Pen1.Visible = True
End Sub
Run the project and see the results.

:!, +
The following example shows how to create a pen via scripts. To do so, follow these
procedures:
Create an E3Chart on Screen.
Create a command button on Screen. For Caption property, type the text
“ Create Pen” .

330 E3Chart
E3 – User’s Manual

Access this command button’ s properties and select the tab Scripts.
Type the following script in Click event:
Sub Text1_Click()
Set E3Chart1 = Screen.Item("E3Chart1")
MsgBox "Click OK to create the pen"
Set Pen = E3Chart1.Pens.AddPen("Pen1")
Pen.DataSourceType = 0 'realtime
Pen.VerDataSource = "Data.DemoTag1"
Pen.UseTimeStamp = true 'at x uses timestamp
Pen.Color = RGB(255,0,0)
Pen.DocString = "test"
MsgBox "Click OK to connect"
Pen.Connect() 'starts getting data
MsgBox "Click OK to frame"
E3Chart1.FitPen(0)
MsgBox "Click OK to disconnect"
Pen.Disconnect() 'stops receiving data
MsgBox "Click OK to remove pen"
E3Chart1.Pens.Remove(Pen.Name)
End Sub
Run the project and see the results.

E3Chart 331
E3 – User’s Manual

:" ) (
E3Chart has a series of characteristics that are available only in runtime. They are:

Mouse Cursor Options


When you click the mouse in the chart’ s legend, you can resize its columns. To do
so, just select a column and drag it.

Mouse Menu Options


When you right-click E3Chart, an option menu is opened.

Picture 275: Options of E3Chart menu in runtime

The available options are:

Available options for E3Chart menu in runtime


OPTION DESCRIPTION
= )& Sets mouse in zoom mode by selected area. This option is
available in XY numerical scale and fixed scale graphics.
+ ( Sets mouse in drag mode.
: 8 7 Sets mouse in drag mode, only horizontally.
% Sets mouse in values search mode in pens data.
= Decreases zoom for the entire Axis.
= Increases zoom for the entire Axis.
9 Fits selected pen on both Axes.
9: %7 Fits selected pen on vertical Axis only.
9 8 7 Fits selected pen on horizontal Axis only.
9 Frame selected pen or all existing pens.

332 E3Chart
E3 – User’s Manual

Search Option
This option allows searching values of pen points. The value shown in the legend,
through the XTagValue and YTagValue columns.

Picture 276: Search is shown in the TagXValue and TagYValue fields

NOTE: For further information on XTagValue and YTagValue columns, see topic
“ Legend Settings” .

Legend “State” Column


Legend State column shows the pen' s current status. When the pen is properly
working, the “ Ok” or “ No data” message is shown. “ Ok” message appears when any
error occurred and the pen contains data. “ No data” message appears when any error
occurred and the pen does not contain any data. However, when there is some error,
E3Chart shows a message. Messages shown are the following:

“No connection”.
This message appears in the real time pen when the values of the YLink or XLink
properties have been informed but they are not invalid.

“XLink not informed, YLink not informed”.


This message appears when the value for the XLink and/or YLink properties of the
pen.

“The query ‘Query_Name’ is not valid”.


This message indicates the query has not been informed or has not been found in the
place specified.
E3Chart 333
E3 – User’s Manual

“‘Field_Name’ field not found”


This message indicates the field informed for the historical pen does not belong to
the query.

“<Query_Name> (Query creation failed)”


This message indicates the query is not created in the server. Probably a
communication error occurred between the Viewer and the Server.

“<Query_Name> (Error when running the query)”


This message indicates the query has errors and has not been completed in the
server. Check if SQL syntax is correct.

“<Query_Name> (Disconnected)”.
This message indicates that E3Chart is not connected to the domain.

“<Query_Name> (Error when re-running the query)”.


This message indicates an error occurred when re-running the query. This problem
may occur, for example, if the connection is lost after running the query at least
once.

“<Query_Name> (Fail when reading table fields)”.


This message indicates E3Chart can not read the fields description and it is not
possible to continue the query.

“<Query_Name> (Fail when downloading data from server)”.


This message indicates the query has been successfully achieved, however there was
some problem when downloading data from server. This problem may occur due to
excessive delay, or lack of memory space in the computer.
TIP: By changing the property CursorLocation to clClient, it causes data to be
downloaded by stages, avoiding a possible timeout problem.

334 E3Chart
;
; 4 (

Formulas are modules which store and transfer sets of values to specific variable
clusters, so that they create predefined settings. They are made of three parts:
templates, units, and value sets.
You can use Formulas to make industrial processes easier. For example, a beverage
factory makes several types of juice, and each type has a different recipe. In this
case, templates represent juice flavors (orange, grape, tangerine, etc); units
represent the tanks where these products are produced; and the ingredients and their
quantities (50g of sugar, 1500 liters of water, fruit pulp, etc) are value sets.
To use this feature, follow these procedures:
Right-click on project name in the Organizer and select the option
Insert— Formula.

Picture 277: Inserting a Formula into the application

Formulas 335
E3 – User’s Manual

; 4 ( +
When a Formula is created, a window for configuring the Database and the table to
be used is displayed. Without it, it will not be possible to create units or value sets.

Picture 278: Database and table configuration window

The available options are:

Available options for Database Configuration window


OPTION DESCRIPTION
+ )' Specifies the Database Server that will manage data
setup in the Formula.
) Specifies table name.

In case you have to configure them later, or even reconfigure them, just choose the
option Configure Database from the menu.

336 Formulas
E3 – User’s Manual

Picture 279: Configuring the Database

;! ' (
The first tab on this view is called Templates. Templates define which datatype can
be stored in each Formula variable and their restrictions.

Picture 280: Templates tab

Formulas 337
E3 – User’s Manual

The options available are:

Available options for Templates tab


OPTION DESCRIPTION
- Defines template name.
7# Defines template type.
,' % ' Determines template restrictions.

This view’ s toolbar has the following buttons: Add , to create a new template;
and Remove , to delete the selected template.

When Restrictions button is activated, the following window is shown:

Picture 281: Restrictions editing

Restrictions allow you to enable or disable value changes in runtime, or to define


limits for these changes.

338 Formulas
E3 – User’s Manual

The options available are:

Available options for Restriction Configuration window


OPTION DESCRIPTION
; ' %! User can change any value in the template. Its symbol on Templates
view is U.
,' % ! User cannot change template value. Its symbol on Templates view is R.
/)' Fixed values will be defined as limits corresponding to template’ s
minimum and maximum value. Its symbol on Templates view is A (and
minimum and maximum values setup in the field).
% Percent value above/below predefined value. E.g.: By placing the limits
between 20% and 30%, for value 100, the values allowed vary between
80 and 130. Its symbol on Templates view is P (and values setup in the
field).
+ Fixed values above/below predefined value. E.g.: By placing the limits
between 10% and 50%, for value 50, the values allowed vary between
40 and 100. Its symbol on Templates view is D (and values setup in the
field).

;"
The second tab on this view is called Units. Units define the tags to be associated to
the Formula’ s templates. It is possible to create several units, that is, several tag
groups that can receive the formula values.

Picture 282: Units tab

Formulas 339
E3 – User’s Manual

The available options are:

Available options for Units tab


OPTION DESCRIPTION
- Specifies template name.
; Specifies the tag to be linked to the unit.

This view’ s toolbar has the following buttons: Add , to create a new unit;
Remove , to delete the selected unit; and Rename , to rename the selected
unit.
For each new unit, a new name is asked:

Picture 283: Adding a unit

;, %
The third tab on this view is called Values. Value sets are the values transferred to
the units (to the tags).

Picture 284: Values tab

340 Formulas
E3 – User’s Manual

The available options are:

Available options for Values tab


OPTION DESCRIPTION
- Determines template name.
4 Determines the values of value sets fields.

This view’ s toolbar has the following buttons: Add , to create a new value set;
Remove , to delete the selected value set; and Rename , to rename the
selected value set.

;- + 4 ( C ( D
Instructions: In this section, an object Formula will be created to store value sets for
the production of a given product. This product will have three measurement units:
External Diameter, Internal Diameter and Height. This Formula will store the
values for two different machines, which will produce these products.

Procedures
Insert a Formula into the application.
Configure the Database and the table. Use a Database existing in the
project, and call the table Production.

Picture 285: Configuring Database and table

Create 3 templates in the Formula:


• External Diameter, with absolute limit between 50 and 80;
• Internal Diameter, with diff limit of 10 and 10;
• Height, with restricted limit.

Formulas 341
E3 – User’s Manual

Picture 286: Templates

In the next step, this Formula’ s units are defined. Before creating the
units, however, you must create the tags used in this Formula. To do so,
insert a folder called Formula into your Data Server, and inside it two
other folders called Machine1 and Machine2. Inside these folders create 3
internal tags.

Picture 287: Creating tags

Create two units in the Formula, called Machine1 and Machine2. Link
each field of these units to the tags previously created.

342 Formulas
E3 – User’s Manual

Picture 288: Linking tags to Formula units

Define the value sets to be loaded into the tags later. Create 4 value sets,
called Model1 to Model4, and input these values:

Picture 289: Configuring value sets

Create a new Screen called Formulas.


On this Screen, create 6 SetPoints to be linked to each tag in the
Formula, and adjust Screen size to the size of the other objects. The Screen
should look like the picture below:

Formulas 343
E3 – User’s Manual

Picture 290: Formula Window

NOTE: Sometimes, the may occur an error on Screen which makes images
disappear. To solve this issue, the option Hide MS-DOS extensions for registered
files must be disabled. It is possible to access this option from Windows Explorer.
Create a button on Screen with the message Load values. This button
will display a dialog box with the existing values and the units to which
they can be loaded, and you will be able to select any option. To do so,
create the following script in this button:

Sub CommandButton1_Click()
Application.LoadFormulaDlg "Formula1", "Machine1,_
Machine2", "Model1, Model2, Model3, Model4"
End Sub

where Formula1 is the name of the object Formula just created and
LoadFormulaDlg() method is a Viewer method. When running this method, the
following dialog box is shown:

344 Formulas
E3 – User’s Manual

Picture 291: dialog box displayed when the button Load values is clicked in runtime

On the window to the left there are the two units created in the Formula, as well
the sets of values from Model1 to Model4. The option Silent Mode will keep
the user from overriding values saved on disk, which will be loaded to the tags.
Through this button, you can see the application working with the Formulas
and the tags receiving the values of the disk. This is one of the methods for
loading values from a Formula, but there are also methods in which the user
does not need to select the values/units in a dialog box.
Create a SetPoint on the Screen and a button with the message OK.
Along with the SetPoint place an identification text with the message
Model:. Then, create this script in the button:

Sub CommandButton2_Click()
Application.LoadFormulaValues "Formula1",_
"Machine1", "Model1"
Screen.Item("Text16").Value
End Sub

where Text16 is the name of the last SetPoint inserted onto Screen. This command
will load a value set specified in the SetPoint for the unit Machine1. When running,
this method will search for the value set on disk. If found, the method will load it
following the restrictions pattern defined in the Formula template. The fields with
open restrictions can have their values changed by the user. If you do not want to be
asked about changing values in the loaded fields, use silent mode.

Formulas 345
E3 – User’s Manual

Picture 292: Value change

However, there is an alternative, the LoadFormulaValuesQuiet() method from the


Viewer.
Choose silent mode on the Screen by using a CheckBox.
Create a CheckBox on Screen.
Place an identification text on it with the message Silent.
Return to button OK’ s script and change the code to:

Sub CommandButton2_Click()
If Screen.Item("CheckBox1").Value = true then
Application.LoadFormulaValuesQuiet "Formula1",_
"Machine1", "Model1"
Application.LoadFormulaValuesQuiet "Formula1",_
"Machine1", "Model2"
Application.LoadFormulaValuesQuiet "Formula1",_
"Machine1", "Model3"
Application.LoadFormulaValuesQuiet "Formula1",_
"Machine1", "Model4"
else
Application.LoadFormulaValues "Formula1", "Machine1",_
"Model1"
Application.LoadFormulaValues "Formula1", "Machine1",_
"Model2"
Application.LoadFormulaValues "Formula1", "Machine1",_
"Model3"
Application.LoadFormulaValues "Formula1", "Machine1",_
"Model4"
End if
End Sub

346 Formulas
E3 – User’s Manual

where CheckBox1 is the name of the CheckBox created. This will make
LoadFormulaValuesQuiet() method be used, if the object is enabled. Otherwise, the
LoadFormulaValues() method is used.
Repeat the last procedures from the creation of the SetPoint to the items
of Machine2, modifying the scripts required. By the end of the changes,
the screen should look like the Picture below:

Picture 293: Final Formula screen

Run the application and watch the results.

Formulas 347
!< !< .

; E3 has tools which allow transforming any object or set of objects of your
application into a user library. The libraries can be composed of frequently used
objects, and subsequently reused in your application.
E3 provides the user with two types of libraries: a library of vectorial graphic
symbols, which can be freely used in your applications, and a user library tool called
ElipseX. The use of libraries in E3 is highly recommended most of the times due to
the productivity gains they bring to your applications. Some advantages of ElipseX:
• Reuse of codes;
• Tests reduction during development;
• Creation of a default interfaces for the objects developed;
• Time reduction for the development of new projects;
• Protection of project content.

Picture 294: Libraries in the Organizer

!< 1( . .
The Symbol Library can be accessed through the Organizer on the tag Gallery. In
this item there are a series of vectorial graphical elements, divided into categories,
which can be dragged to Screens or to ElipseX. The available types of symbols are:
3D Pushbuttons Etc, 3D ISA Symbols, Air Conditioner, Architecture, Arrows,
ASHRAE (Controls and Equipment), ASHRAE (Ducts), ASHRAE (Pipes), Basic
Shapes, Blowers and Fans, Boilers, Buildings, Chemical Processes, Computer
Hardware, Computer Keys, Containers, Controllers, Conveyor belts and Production
Lines, Ducts, Electrical System, Flexible Tubes, Finishing, Food, Outflow Meters,
General Symbols, Heating, HVAC, Icons and Bitmaps, Industrial Miscellany,
Libraries 349
E3 – User’s Manual

International Symbols, ISA Symbols, Laboratory, Machining, Maps and Flags,


Material Handling, Mining, Pipes, Pulp & Paper, Mixers, Engines, Nature, Human-
Machine Interfaces, Panels, Industrial Accessories, Power Devices, Processes
Cooling, Processes Warming, Pumps, Security, Scales, Segmented Pipes, Sensors,
Cuts in Tanks, Textures, Valves, Vehicles, Water and Water Supply, Wires and
Cables.
To use this feature, follow these procedures:
The E3 symbols library can be viewed at Organizer, on the tab Gallery.
By selecting this tab, you will have access to the sets of symbols
grouped in categories. Select the category from the upper part of the
window.
To insert an object from symbol library in a Screen, simply click the
object desired and drag it to the Screen.
After inserted, the object can be freely edited and worked according to
the characteristics described for the image objects, such as for example,
change the filling color through the OverrideFillMode, OverrideFillColor
and OverrideLineColor properties with no need of transforming the object
in an E3 graphical object.

Picture 295: Symbols library

350 Libraries
E3 – User’s Manual

!< ! . 1E @
The ElipseX are E3 object libraries beyond the symbols library previously
described. In addition to a design, the ElipseX' s may contain, internal variables that
may be exported to the application, besides programming logic (scripts) which will
be present in all copies of the object being created, diminishing the need of repeating
the code in diverse parts of its application.
The ElipseX' s are encapsulated in an extension .LIB file. You can create all of
ElipseX' s to be used in a specific project in the same Library file (.LIB) or divide
among the diverse files, as desired.
In order to create a new library in the E3, follow the procedures below:
Access the menu, select the item New Project and click Next;
In the option Type of Application, select the E3 option components
Library.

Picture 296: Creation of a user library - ElipseX

Specify the name of your library and click Forward;


Specify the specification referring to the domain.
Click Finish.
Within an ElipseX library, two types of objects can be inserted: The graphical
objects “ XControls” and the data objects “ XObjects” .
The following items can be inserted in the XControls: Design Primitives (Straight
lines, Rectangles, Circles, etc...), Vectorial Graphical Objects, including objects of
Libraries 351
E3 – User’s Manual

symbols library (WMF, EMF, etc...), Non-Vectorial Graphical Objects (BMP,


JPEG, GIF, etc...), E3 ActiveX Controls (E3Chart, E3Browser, E3Alarm, ActiveX
Controls of third parties) and other XControls.
On the other hand, the data libraries may contain any type of nongraphical objects
that are executed in the E3 Server. We can insert an XObject to the following
objects: Communication driver, DataServer, DBServer, Formulas, AlarmConfig,
AlarmServer, DBServer, COM Objects, among others.
Within the same LIB file may exist any number of ElipseX components, either they
are XControls or XObjects. You can also have diverse different libraries (diverse
LIB’ s) within the same domain.
NOTE: for every XObject/XControl created in a library, two interfaces are
generated: on to declare the object’ s properties, and another one to declare the
object’ s events. These interfaces’ names are generated automatically. For an object
called "nonono", you will use the name "Dnonono" for the properties’ interface, and
"DnononoEvents" for the events’ interface (this terminology is default).
Therefore, if a given library already has an XObject/XControl called "nonono", the
names "Dnonono" and "DnononoEvents" are ruled out to other classes in this
library. If the user tries to label an ElipseX "Dnonono", when there already is
another one called "nonono" in the library, the error code 8002802D appears,
standing for "Name already exists in the library".

!< ! @
The XControl defines a graphical interface to the user, that can be composed of any
E3 objects, that will have the purpose of being easily multiplied by its object. You
can create an XControl Right-clicking the LIB file created in its domain, then
choosing the option Insert – XControl.

Picture 297: XControls

When you insert an XControl, this object’ s view is opened. It is made of two tabs:
Design, equivalent to a Screen, where the graphic objects previously described can
be inserted; and Properties, where variables (XControl properties) can be inserted.

352 Libraries
E3 – User’s Manual

These properties are “ exported” by the object and can be linked to a tag or to another
property when the object is being used in the application.
The variables to be exported, which are the XProperties, can be inserted by pressing
the key "Insert" in the keyboard or through the Button, and be excluded through the
Button .
The available options are:

Available options for Properties tab


OPTION DESCRIPTION
- Specifies the XControl variable name.
7
# Specifies the type of data supported by the variable.
4 Specifies the variable initial value.
)% Enables/disables the visibility of the variable out of the library,
i.e., specify whether the variable will be public or not.
@ # & Variable declaration and documentation text.

NOTE: Notice that Data objects (XObjects) can be declared as Types.


Graphical object editing can be done in the same manner when you are editing a
Screen having the same graphical features and options.
You can insert XControls in any Screen, or even within another XControl Right-
clicking the destination Screen or XControl, and choosing the option “ Insert” , as
shown below:

Picture 298: XControls

From this moment on, its XControl will have a name within the Screen and will be
understood as a copy of the original definition. Thus, you can define (if required) the
values and/or associations this specific copy will have in the context it is being used.

Libraries 353
E3 – User’s Manual

If this object’ s size is altered on the library’ s Design view and registered again, it
will be necessary to access the option Original Size for the alteration to appear.
Example: Let' s suppose you created an object “ Bomb” , having an XProperty with
the name “ Status” , which will receive an external information disclosing whether the
bomb is on or off, making it change its color. When inserting this object on the
Screen, E3 automatically rename the object to “ Bomb1” .
You can keep this name or rename it to another one you desire. Then, you must
inform which variable will be associated to the XPropery Status. Let' s suppose a
certain communication tag represents the status of this bomb; therefore, an
association between the Status property and the referred tag must be made. The
same work must be done to other instances (copies) of the Bomb object required in
the project.

!< ! ! @$.2
In addition to XControls graphical Objects, you can create a data library designated
XObject. With it, you can define a data structure to be executed in the server. Such
structure can achieve calculations, associations, communications, alarm checks,
historical registrations, etc..., regardless some graphical interface (Viewer) is opened
or being executed at that moment. In order to create an XObject, Right-click the LIB
file in the Organizer and choose the option Insert – XObject.

Picture 299: XObjects

When inserting an XObject, the view of this object is opened, where variables can
be inserted. These variables are properties to be "exported" by the object, called
XProperties, which can be associated to a tag or any other property of an application
when the object is being used in an application. The variables with properties to be
exported can be inserted by pressing the key "Insert" of the keyboard, and the
following properties must be defined to each of them: Boolean, Byte, Integer, Date,
String, Variant, Color, etc.
Notice that other Data objects (XObjects) can be declared as Types. In this manner,
you can create a data object having as property another data object. In this case, the
data objects may work as a "struct" or "class", as used in the languages C/C++. The
variables with properties to be exported can be inserted by pressing the key "Insert"
in the keyboard or through the Button , and be excluded through the Button .
The available options are:
354 Libraries
E3 – User’s Manual

Available options for XObjects’s view


OPTION DESCRIPTION
- Specifies the XControl variable name. This field is
equivalent to the XObject Value property.
7
# Specifies the type of data supported by the variable.
This field is equivalent to the XObject Type property.
4 Specifies the variable initial value. This field is
equivalent to the XObject Value property.
)% Enables/disables the visibility of the variable out of
the library, i.e., specify whether the variable will be
public or not. This field is equivalent to XObject
Public property.

Besides the XProperties, they can be inserted in any XObject in an E3 module that is
executed in the server, as follows:
• Communication Driver and OPC Communication Driver;
• Alarms Server and alarms;
• Database Server;
• Formulas;
• Data Server;
• Histories.
This allows you to define as a library a complex management system that can be
easily replicated how many times it is required in its application.
IMPORTANT: Notice that as the XControl or the XObject could only relate to the
external world through the XProperties (or even through Mouse and keyboard, in
case of the XControls), or even through sharing some other external feature or
property. This means you can not access internal data from an XObject or XControl
excepting within the own object.
You can insert XObjects in any Data Server, Right-clicking the Data Server,
choosing the option “ Insert” , as shown below:

Libraries 355
E3 – User’s Manual

Picture 300: Inserting an XObject

Notice that even that its library file or files has (have) diverse XControls and
XObjects, when trying to insert a library, E3 Studio will show in the Screen only the
XControls, and for the Data Servers, only the XObjetcs.
NOTE: You must be careful in order not to delete an XControl or XObject property
having an association. These properties, once deleted, they do not appear in the
object properties list anymore, and that is why they cannot be edited. When the
operation "Check Domain" is executed, a search for these properties will be made
and the user is asked whether he wants to remove this association or not.

!< " 3 + @
The use of libraries in the E3 is highly recommended due to the productivity gains
they bring. Some advantages of ElipseX:
• Reuse of codes;
• Minimization of tests during the development;
• Creation of a default interface for the objects developed;
• Decrease of the time for the development of new projects;
• Protection of project content.
So, the use of library is recommended for most applications. Therefore, there are
criteria to indicate the need of objects construction in the Elipse:

356 Libraries
E3 – User’s Manual

• Repeating in the use: If the same equipment or process will be used for
more than one time in the same project;
• User knowledge procedures: often, a process created by a specific
company must be protected for copies or changes. This is common in case
of services integrators or machine manufacturers;
• Use of controllers: A process controller, whose memory mapping is
fixed, can be implemented with all functionalities available. The
flexibility available for the construction and use of objects in the E3 allow
that lately be used only variables of interest, ignoring the other ones.
NOTE: For examples on how to create ElipseX, and for further information on these
objects, see Scripts: Reference Manual.

Libraries 357
! !

!< Report is an ActiveX component called ActiveReport, allowing viewing and


printing instant values of system variables and the data stored in the Database
(Alarms, Histories, Queries and Formulas). These data can be printed either in text
format or graphical format, being the latter achieved through E3Chart object.
In order to use the report, follow the procedures below:
Right-click the Organizer and select the option Insert – Report.
In case it is necessary, set up object properties.

! = 1 $.2
This object allows the origin of the Database data to be viewed in the report to be
specified. If the SourceQuery property is specified, the report will search for the data
in the indicated Database.
Otherwise the report will search for the data from the system default query.
In order to use this feature, follow the procedures below:
After creating the report in the project, it creates the Query object.

! ! (
A report consists of diverse sections. Each section of the report consists of a group
of controls that are processed and printed at the same time, as a simple unit.

Relatórios 359
E3 – User’s Manual

Picture 301: Report sections

The report defines types of section that will be explained below.

Report Header
A report may have a Report Header section that prints at the report' s beginning. It
is generally used to print report titles, sum tables, graphics and any other information
required to appear sonly one time in the beginning of the report.
NOTE: A Report Header can extend for multiple pages. For this, simply insert a
Page Break in its content.

Report Footer
The Report Footer section prints at the report' s end. It is used to print a sum of a
report, grand totals or any other information that needs to be printed only once at the
report's end.

Page Header
Page Header section prints only once at the top of each page in the report. It is the
first section printed in the page, excepting when this page contains the Report
Header section. It is used to print page totals, number of pages, page titles or any
other information that needs to be printed once at the top of each page.

Page Footer
Page Footer section prints only once at the bottom of each page in the report. It is
used to print page totals, number of pages, page titles or any other information that
needs to be printed once at the bottom of each page.

Group Header, Group Footer


A report may have multiple nested groups. Each group has a Header section and a
Footer section. Header section prints before any Detail section in the group. Footer
section prints after all Detail sections in the group. Group sections are inserted
immediately before and after the Detail section. The number of times a group
360 Reports
E3 – User’s Manual

section can print depends on how data is grouped. The report will begin a new group
(Header, Detail and Footer) to each change in the data to be reunited in the group.

Detail
Detail section in the body of the report, which prints once to each registration of the
data source.

! " +
Report has diverse objects that can be aggregated to it, being accessed through the
Report Toolbar.

Picture 302: Report Toolbar

Right-clicking the report, the menu is shown.

Picture 303: Report menu Picture 304: Report’s object menu

Menu options vary according to the place the mouse is clicked.


• In the report area: Only the Insert and Delete Section options are
enabled.
• In an object in the report: Only the Insert, Delete, Cut, Copy, Paste, Bring
to Front, Send to Back, Align and Format Border options are enabled.
• In more than one object selected in the report: All menu options are
enabled.

Reports 361
E3 – User’s Manual

Available options for Menu


OPTION DESCRIPTION
' Allows inserting a new report component. The
options available are the following:
Insert – Group Header/Footer: Adds a new pair of
headers/footers of group in the report.
Insert – Page Header/Footer: Adds a new pair
headers/footers of page.
Insert – Report Header/Footer: Adds a new pair of
headers/footers in the report.
+ <+ % Deletes the selected section/object/group. This option
is not applied in the “ Detail” section of the report.
, ! #' Reorganizes the selected groups. This option is valid
when diverse section groups (pairs of header/footer)
have been added to the report. This option is not
applied in the “ Detail” section of the report.
Cuts the selected object/group/section.
#7 Copies the selected object/group/section.
' Pastes the object/group/section in the current report
section.
( 9 The selected object/group/section is sent to the first
position in the overlap order.
! %
6 The selected object/group/section is sent to the last
position in the overlap order.
/( Aligns the selected object/group/section. The options
available are the following:
• Lefts: Left alignment.
• Centers: Center alignment.
• Rights: Right alignment.
• Tops: Top alignment.
• Middles: Middle alignment.
• Bottoms: Alignment at the same height.
• To grid: Alignment according to the grid.
• Center in section: Center alignment in
the session.
8 Specifies the size of the selected object/group/section.
The options available are the following:
• Make same width: Same width.
• Make same height: Same height.
• Make same size: Same size.

362 Reports
E3 – User’s Manual

OPTION DESCRIPTION
@ 8 #% ( Specifies the object horizontal spacing in the report.
The options available are the following:
• Make equal: Equal spacing among the
objects.
• Increase: Increase the object spacing in
one point.
• Decrease: Decrease the object spacing in
one point.
4 % #% ( Specifies the object vertical spacing. The options
available are the following:
• Make equal: Equal spacing among the
objects.
• Increase: Increase the object spacing in
one point.
• Decrease: Decrease the object spacing in
one point.
9 ! Specifies the object border format in the report.

When the Format Border option is selected, a dialog box is shown.

Picture 305: Object border options

Reports 363
E3 – User’s Manual

The available options are:

Available options for Border


OPTION DESCRIPTION
' ' Specifies the object external border style.
7' Specifies the object border line style.
:" Previews the object settings.
Specifies the object border color.
!" Enables/disables the object shadow.

Through the Report Toolbar it is possible to access the features available in the
report:

! " / &
Through this option it is possible to view a report print preview. So that it is also
possible to check settings of margin, Pictures, etc.

Picture 306: Report print preview

364 Reports
E3 – User’s Manual

The available options are:

Print Preview Settings


ICON DESCRIPTION
Reports content table.
Prints the report by opening the print settings table.
Copies the selected content.
Searches for a specific text in the report.
Viewing a simple report page.
Viewing multiple report pages.
Less zoom in the page.
More zoom in the page.
Zoom percentile in the page.
Previous page / Next page

! "! +
Through this option it is possible to setup the report settings, such as page, printing,
grid and report style settings.
The Printer Setup option sets up the specifications referring to the report page.

Picture 307: Report Settings

Reports 365
E3 – User’s Manual

The available options are:

PageSetup settings options


ITEM DESCRIPTION
# ( Specifies page top margin.
( Specifies page bottom margin.
( Specifies the page left margin.
,( ( Specifies the page right margin.
Specifies the page margin.
(' Enables/Disables the page mirror margin.

The Printer Setting option sets up the specifications referring to the report printing.

Picture 308: Report printing settings

366 Reports
E3 – User’s Manual

The available options are:

Printer Setting (Printer) Settings Options


ITEM DESCRIPTION
# 8 Specifies the paper size.
1! Specifies the paper width.
@ ( Specifies the paper height.
Specifies the paper orientation in the printer (Printer
Default – Settings according to the default printer;
Portrait - Vertical page layout; Landscape –
Horizontal page layout).
Organizes printing.
+#& Duplicates printing.
# Specifies the settings and the type of paper for
printing.

The Grid Setting option specifies the settings referring to the report grids.

Picture 309: Grid settings

Reports 367
E3 – User’s Manual

The available options are:

Grid Setting (grid) Settings Options


ITEM DESCRIPTION
" ! Enables/Disables the grid.
/( ' ! Enables/Disables the controls alignment in the grid.
! ' Specifies the number of columns in the grid.
!, "' Specifies the number of rows in the grid.
, ; ' Specifies the type of ruler unit (pixel or
centimeters).

The Style option specifies the settings referring to the report style.

Picture 310: Report printing settings

The available options are:

Available options for Style settings


OPTION DESCRIPTION
- "<
+ <' Specify the report style. It is possible to insert a new
style (through button New), delete a style (through
Button Delete) or use the styles existing the list.
9 < ' < '% Specify the report style specifications (fonts,
background and foreground colors, orientation, etc).

368 Reports
E3 – User’s Manual

! ""
Script Editor is used to create scripts in the E3 reports. The language used to create
the scripts in the report is the Active Scripting, interacting to Visual Basic. When the
scripts editor is opened, it makes the report events and methods of the objects and
components available.

In order to use this feature, access the Button Script Editor that is available in
the Report Toolbar.

Picture 311:Text editor

In the field Object it is necessary to specify the object in which you wish to create
the script and in the item Events, the report event in which the action will occur.

! ", /@ 4
Exports the report configuration to an external file.

! "- /@ 4
Imports the report configuration from an external file.

Reports 369
E3 – User’s Manual

! , $.2

! ,
The object Line links two given points. It allows you to draw straight lines with two
points specified in its creation or in polygons.

Picture 312: Line

After being inserted onto Screen, the object will be labeled Shape.

! ,! +
This object Rectangle allows you to draw rectangles using all of object’ s
width/height. It is created from two vertexes.

Picture 313: Rectangle

After being inserted onto Screen, the object will be labeled Shape.

! ," +
The object Round Rectangle is a rectangle created from two vertexes, with round
corners from a rounding factor.
When inserted or edited, it displays a small point next to the upper left corner of the
object, which allows modifying the rounding factor.

Picture 314: Rounded Rectangle

After being inserted onto Screen, the object will be labeled Shape.

370 Reports
E3 – User’s Manual

! ,,
The object Ellipse allows you to draw circles and ellipses, by using all of
width/height and defining the circle center in the rectangle center.

Picture 315: Ellipse

After being inserted onto Screen, the object will be labeled Shape.

! ,- '
The object Text enables the creation of a text. When defining the area on Screen, we
can type the text desired directly, which also accepts multiple lines.

Picture 316: Text

After being inserted onto Screen, the object will be labeled Label.

! ,8 /
The object Picture allows you to display images which are stored in files, be them
inside or outside the application file.

Picture 317: Picture

After being inserted onto Screen, the object will be labeled Picture.

Reports 371
E3 – User’s Manual

! ,9 /
The object SetPoint is used to insert data from the Database into the report. This
data is indicated via DataField property.

Picture 318: SetPoint

After being inserted onto Screen, the object will be labeled Field.

Example of use of the Report SetPoint


The following example will show the day average of a query field in the report. For
that, follow the procedures below:
Insert a new GroupHeader/Footer in the report;
Setup the DataField property of the GroupHeader to “ =Day(E3TimeStamp)” . This
specifies the average calculation will be made in a daily basis.
Insert a SetPoint in the GroupHeader with the DataField property equal to
“ =Day(E3TimeStamp)” .
Insert a SetPoint in the GroupFooter with the DataField property equal to the field
name to have the average calculated.
Setup the following GroupHeader SetPoint properties:
• SummaryFunc = 1 - ddSFAvg
• SummaryGroup = GroupHeader1
• SummaryRunning = 1 - ddSRGroup
• SummaryType = 3 – ddSMSubTotal

! ,: *.
The object Checkbox inserts data into the Report, bound or unbound to a Database
field. Its value is a Boolean.

Picture 319: Checkbox

372 Reports
E3 – User’s Manual

After being inserted onto Screen, the object will be labeled CheckBox.

! ,; )
The Bar Code allows you to generate a picture that converts a sequence of numbers
and characters into a bar code. This bar code is either a numerical or alphanumerical
representation, used to facilitate different processes. This code is deciphered through
scanners, pens and equipment of optical reading.

Picture 320: Bar Code

After being inserted onto Screen, the object will be labeled BarCode.

! , < "
The object E3Chart is an ActiveX component used to show a chart displaying tags
varying in real time, and also to show historical data stored in a Database.

Picture 321: E3Chart

Note: E3chart cannot be added to Report'


s Detail section.
There are some functional differences between an E3Chart in an application and one
in a report. When in a report, the E3Chart is able to show charts with either real-
time, historic or mixed data. On the other hand, when in a report, the E3Chart is not
able to use real-time or mixed data, only historic data.
So, no object from the report can be accessed externally, that is, when you create a
report through the application, it is not possible to access its apllications nor its
objects’ s via application scripts. So, changes in its objects, including E3Chart, can
only be done directly in the Studio or in the report’ s own scripts.
For further information on this object, see the chapter E3Chart.

Reports 373
E3 – User’s Manual

! , / + ) *
The object Page Break is the point where a page finishes and another one starts in
the report. For example, you can force a page break to ensure that a chapter title
begins always with a new page. If you work with documents having diverse pages
and insert manual page breaks, maybe it is necessary to frequently reinsert them as
you edit the document. You can also prevent a page break of occurring in a
paragraph or in a table line, or ensure that a page break is not inserted between two
paragraphs, such as between a title and the next paragraph.

Picture 322: Page Break

! , ! 4 (
The object Frame is made of the rows and columns where texts and/or charts are
inserted. The tables in the reports are used to organize and show the information.
You can also use tables to create page layouts, or to create animated text, charts, or
tables as in an HTML page.

Picture 323: Table

After being inserted onto Screen, the object will be labeled Frame.

! - + "
This example contemplates the creation of a report in the E3 for extracting data from
a history.

Report areas definition


The default report created when a new report is added to the project has the
following areas:

374 Reports
E3 – User’s Manual

• PageHeader – Area shown in all report pages, as header;


• Detail Area – Area repeated as many times as required, it is the report
body;
• Page Footer – Page footer works in the same manner as the Page
Header.
There are two types of Areas:
• Report Header/Footer: Areas which are printed only one time,
regardless the report size in pages. It comes as a report opening or closing;
• Group Header/Footer: A group is used to divide in the report sets of
values equal to the same variable. This area will repeat every time a group
is showed. In the example showed here, any construction of this type is
used. This areas always “ involves” a “ Detail” area.
These two areas can be accessed Right-clicking and accessing the ‘Insert’ option.

Query setup
For extracting data from a Database, it is necessary to setup the Report query. There
may be many different queries for the same report, being that only one can be active
in a specific moment.
For that, follow the procedures below:
Setup DataSource property (Database name where the query will be made. In our
case, “ DBServer” );
Specify the Table property (query table, here it will be “ Data” );
Setup the Name property (must remain with the original name “ Query1” );

Fields Settings
In this example four temperatures has been created and stored in a history and these
temperatures are the objects of interest of our report. In such case, the values read
from the history will be “ printed” through the report.
In order to read data from a Database, the ideal area is the Detail Area, as it is
automatically repeated as many times as required. In this manner, five text fields
must be inserted in this area. These fields can be linked to a data field that is setup
through the DataField property. Here, we will use the following values:
Field1: E3Timestamp
Field2: Temperature1 (as it is in the Database).
Field3: Temperature2

Report Viewing

It is possible to view the report created through the Button Preview , available in
its editing area.

Reports 375
E3 – User’s Manual

For that, it is necessary to direct the project Database server to the MDB file of the
folder where the example was saved.

! 8 ( 7
Following are some examples of the use of features of the Reports:

Setting up the path of a bitmap at the time of printing a report:


In order to use this feature, write the following script in the OnFormat event of the
objects PageHeader or ReportHeader:
Sub OnFormat
Report.Sections("ReportHeader").Controls("Image2").Picture =_
LoadPicture ("C:\correio\teste.bmp")
End Sub

Setting up the value of a BarCode object (BarCode) within the “Detail”


section
In order to use this feature, write the script in the OnFormat event of the “ Detail”
section:
Sub OnFormat
Report.Sections("Detail").Controls("BarCode1").
Caption = Right (Report.Field ("E3TimeStamp"), 8)
End Sub

Capturing a Screen and generating a printing preview


In order to use this feature, write the following script:
Sub Rect_Click()
Screen.CaptureScreen("C:\correio\teste.bmp")
Application.LoadReport("[Report3]").PrintPreview()
End Sub

376 Reports
E3 – User’s Manual

Generating a Menu allowing to export a report


In order to use this feature, write the following script:
Sub [Rectangle3_Click]()
Set report = Application.LoadReport("[Report3] ")
Select case
Application.SelectMenu("PDF|Excel|HTML|RTF|Text|_
TIFF|Text(CSV) ")
Case 1
Report.Export "PDF", "C:\correio\reports\report.pdf"
MsgBox "Exported to PDF! "
Case 2
Report.Export "EXCEL", "C:\correio\reports\report.XLS"
MsgBox "Exported to XLS! "
Case 3
Report.Export "HTML", "C:\correio\reports\report.html"
MsgBox "Exported to HTML! "
Case 4
Report.Export "RTF", "C:\correio\reports\report.rtf"
MsgBox "Exported to RTF! "
Case 5
Report.Export "TEXT", "C:\correio\reports\report.txt"
MsgBox "Exported to XLS! "
Case 6
Report.Export "TIFF", "C:\correio\reports\report.tiff"
MsgBox "Exported to TIFF! "
Case 7
Set reportFilter = report.GetExportFilter("TEXT")
reportFilter.FileName="C:\correio\reports\_
report2.txt"
reportFilter.TextDelimiter=","
report.Export reportFilter
MsgBox "Exported to TXT using filter! "
End Select
End Sub

How to Create Reports showing "Page N of M"


In order to create a report in which each page prints and indicator of "Page N of M"
where N is the current page and M is the total pages, create two Labels and two
Fields.

Reports 377
E3 – User’s Manual

The two Labels correspond to the texts "Page" and "of", that must be inserted in the
Caption property. The two fields correspond to the values N and M, with the
following properties:
Field N:
• Name: txtPageNumber
• SummaryGroup: GroupHeader1
• SummaryRunning: 1-ddSRGroup
• SummaryType: 4-ddSMPageCount
Field M
• Name: txtPageCount
• SummaryGroup: GroupHeader1
• SummaryType: 4-ddSMPageCount

378 Reports
!! !! / (

Through this option, it is possible to control the access to Screens, Alarms and
Domains in a list of users, where each name is assigned to a password and a login.
According to the option setup, the system will allow access to registered users or
unlimited access to the project Screens. Through the same option, other users can
change their passwords by typing the old password and double confirming the new
password.
User passwords and information are saved in an encrypted file, independent from the
others in the application directory. In order for the user to log in the system, he must
run the login to have access to the Screens and other system specifications,
excepting the project opening Screen, by which all users will have access allowed.
In order to access user settings, follow the procedures below:
Access the menu File – User... The system will show dialog box for setting up users
in the system.
Users have specific events, method and properties for their setup, as listed below:

User Events
EVENTS DESCRIPTION
( It occurs when a user successfully run a system login (user
authentication). The system login can be done by running the
Login () method or when an object can only be accessed with a
specific authorization number, so that its authentication is
required.
( It occurs when a “ logout” is executed, that is, the user exits the
system. The logout is made by calling the Logout () method.

User Property
PROPERTY DESCRIPTION
;' This property identifies the user name using the Viewer.

Usuários e Permissões 379


E3 – User’s Manual

User Methods
METHODS DESCRIPTION
( ''" ! This method opens a dialog box for allowing
changing current user password. The method returns
True, if current user has permission to change
password. Otherwise, it returns False, indicating there
was an operation failure or it is not possible to change
password because the user is not authorized.
';' ) # This method checks whether the user logged in the
current Viewer belongs a specific group.
( Opens dialog box for “ login” (user authentication) in
the project.
( Executes the Viewer logout (exit of current user from
the application).
''" ! The method opens a dialog box asking a
reconfirmation of the current logged user password.
This method returns True if the password is
confirmed, otherwise it returns False. If the dialog
box is closed through Button Cancel, the method
returns False. In case there is no logged user, the
method returns False, but without opening the dialog
box. In case the password typed is not correct, the
request is repeated three time maximum and then it is
closed, returning False.
;' /! ' This method opens a box allowing editing E3 Server
users list.
Obs: Only the administrator has access to this
method. The user settings box is accessible only to
the user enabled as “ administrator” . The administrator
user cannot exclude themself and cannot set their type
to “ non-administrator”.

380 User and Permission


E3 – User’s Manual

!!
Through Users button it is possible to setup information referring to either users that
will have access to the system or not. In order to use this feature it is necessary to
access the Menu Files— Users... - and clicking Users tab. After its setup, only
users’ lists will have access to the system.

Picture 324: Users

The available options are:

Available options for Users tab


OPTION DESCRIPTION
- Indicates the current user.
- " Creates a new user.
! Edits the properties of the selected user.
, : Removes the user selected.
/: ) ( #' Shows the groups of users available in the system.
(' Shows the groups to which the user belongs.

User and Permissions 381


E3 – User’s Manual

When activating the [- "] button, the following message box is shown:

Picture 325: Adding users in the application

382 User and Permission


E3 – User’s Manual

The available options are:

Available options for Add user window


OPTION DESCRIPTION
- Specifies the user name.
''" ! Specifies the user password.
,7
# #''" ! This password is stored in an encrypted file and
independent of the others in the application directory.
9 Reconfirmation of the password previously informed.
' ' ! ' Enables the user as administrator.
'
% 7 %' Specifies diverse types of settings and restriction to
the user. The options available are the following:
User cannot change their password: The user
cannot change his password, being that only the
administrator can run this task.
Password expires after ... days: Specify the user
password validity period.
Password must have at least ... characters: Specify
a minimum number of characters for user password.
Password must have letters and numbers: Specify
that the password must have letters and number.
Password must have uppercase and lowercase
letters: Specify that the password must have capital
and lower letters.
This account is disabled: Indicate the account is
disabled.
This account is blocked: Indicate this user account is
blocked. This option is automatically enabled in case
the user password expires.

When the option This user is an administrator is enabled, it allows some


privileges in runtime to the user:
• Show the list of all users;
• Delete users (it is not possible to delete the current user);
• Add and edit users;
• Edit the settings of a user;
• Change user password;
• Change other user data (login, name, etc);
• Inform the group to which the user belongs.
These privileges are accessed via script through the UserAdministrator() method,
enabling the dialog box of users in runtime.

User and Permissions 383


E3 – User’s Manual

OBS: Only the administrator can have access to UserAdministration() method. The
user settings box is accessible only to the user enabled as " Administrator".
Administrator user can not exclude himself and can not set his type to “ non-
administrator” .
When the option Password expires after ... days is enabled, it specifies a validity
period for the user password. User password has a specific duration of some days
and then it will expire after a specific date. When the password gets closer to the
validity date, a reminder to renew it will be shown. In case he desires to renew it, a
dialog box will be shown in order for the user to make password setup. If the
password expires before the user renew it, he can not run the login anymore and the
option This user is blocked will be automatically enabled. This condition persists
until an administrator manually unblock the password
User account can be blocked in the following conditions:
• If the password expires (the validity time can be a global attribute of the
group or the user).
• If the user type the wrong password many times.
When Edit Button of the group dialog box is clicked, the same Screen showed in the
option New group is viewed. The options available are the same previously
explained.
When the Button Exclude is activated, the system shows a message box asking if
the user really wants to remove the user. Click Yes to confirm the exclusion and No
to give up the action. To cancel the action, click in Cancel.

!! !
The option Groups allow the information referring to groups to be setup. Each
group defines characteristics that will be common to all of its members (users). A
group can also belong to other groups. It is not allowed only to belong to another
group that it already belongs to, that is, a circular reference.
In order to use this feature it is necessary to access the Menu Files— Users... - and
select Groups tab.

384 User and Permission


E3 – User’s Manual

Picture 326: Groups

The available options are:

Available options for Groups tab


OPTION DESCRIPTION
- Indicates the current group.
- " Creates a new group.
! Edits the properties of the selected group.
, : Removes the selected group.
/: ) ( #' Shows the groups available in the system.
(' Shows the groups to which the group selected
belongs.

User and Permissions 385


E3 – User’s Manual

When activating [- "] Button, the following message box is shown:

Picture 327: Creating a new group

386 User and Permission


E3 – User’s Manual

The available options are:

Available options for Add Group window


OPTION DESCRIPTION
# Specifies the group name.
% 7 %7 ' Specifies diverse types of settings and restrictions to
' ( # the current group user. The options available are the
following:
User cannot change their password: The user can
not change his password, being that only the
administrator can run this task.
Password expires after ... days: Specifies the user
password validity period. User password has a
specific duration of some days and then it will expire
after a specific date. When the password gets closer to
the validity date, a reminder to renew it will be
shown. If the password expires before the user renew
it, he can not run the login anymore and the option
This user is blocked will be automatically enabled.
Password must have at least ... characters:
Specifies a minimum number of characters for user
password.
Password must have letters and numbers:
Specifies that the password must have letters and
number.
Password must have uppercase and lowercase
letters: Specifies that the password must have capital
and lower letters.

When [ ! ] button of the group dialog box is clicked, the same Screen showed in
the option New group is viewed. The available options are the same previously
explained.
When [ & % ! ] button is pressed, the system shows a message box asking if the
user really wants to remove the group selected. Clicking [D '], the action is
confirmed. To cancel the action, click in [ % ].
It is possible to add groups and users to user groups. For that, in the list Groups
available are listed the groups available in the system and in the item Belongs to it
is possible to add the user/group. To add a user/group to a specific group, follow the
procedures below:

User and Permissions 387


E3 – User’s Manual

Select from the selection list the group/user you desire to insert in a
specific group.

Picture 328: Group selection list

In the list Groups available, select the group to which the user/group
will belong.

Picture 329: Groups list

Click on [/!!] button, to add the group that will appear in the field
Belongs to.
In order to remove the group, simply select it in the field Belongs to
and click on [, :] button.

388 User and Permission


E3 – User’s Manual

Picture 330: Users and Groups

For example: We have the following groups in the system: Unit1 and Factory and
we want that Unit1 belong to Factory. For that, in the selection list we selected the
group Unit1, and in the list Available groups, we selected the group Factory and
click the Button Add. In such case, the group Unit1 belongs to the group Factory. It
is important to emphasize that it is possible to one group to belong to more than one
user group. For that, simply select and add in the specific group. The same
procedure occurs in the inclusion of a user to a group.
NOTES:
- One group may belong to another group. It is not allowed to belong to itself, or to
belong to another group belonging to it, that is, a circular reference.
- It is important to check the hierarchy among users and groups: If the user has the
option “ The password must have Capital and Lower letters" disabled and it is
enabled in the group, the valid option is the user one, who has this item disabled.
Group option will only be respected if this option is set as neutral.

!! " / (
Permissions tab allows setting up user and group permissions to Screens and
alarms. A permission check consists of an information a group member has on
command acting on a specific object.
For example: “ User1” has permission for the command “ Open” on the object
“ Screen1” . Each group member can deny or affirm the permission of a command,
regardless the group he belongs. In this manner, it will not take into consideration
the group information. It is also possible to opt for always using the information
defined by the group. If groups’ information is conflicting, the following preference
order will be used: Deny > Affirm > Indifferent.

User and Permissions 389


E3 – User’s Manual

Picture 331: User/groups permissions

390 User and Permission


E3 – User’s Manual

The available options are:

Available options for Permissions tab


OPTION DESCRIPTION
;' '< # This option lists the users and/or user groups setup in
the system. Such parameters may be informed
through Users and Groups. Thus, with the user
selected, it is possible to specify the items this user
will have access in the option Security Items.
% 7 ' This item shows the options available in the system
for the user have access or not, which will be
specified in Permissions. The security items are:
- Screens: They allow the user to enable or disable
the access to the Screens. In an application, all users
or groups have access to the Opening Screen.
- Alarms: Enables/disables the alarms
acknowledgment for the user or group. In a project, it
is possible to show the alarms information to diverse
“ subscribers” of that information through a Screen
viewer object, such as for example, the E3Alarm.
This object is used to accomplish the specification
and management of alarms and events of variables of
a process. When checking an alarm condition , it is
logged in the alarm server and in the Database.
- Domain: Allows you to place a login the E3 Server
activities.
- Viewer: Allows you to use the Viewer in Viewer
Full or Viewer Only mode, according to its settings.
;' ' It is a filter of settings options. By enabling this
option, it is possible to view only users registered in
the system.
#' It is a filter of settings options. By enabling this
option, it is possible to view only groups registered in
the system.
'' ' Shows the users/groups permissions in relation to the
security items (Screens/alarms).

When the option Permissions is clicked, makes available diverse types of


permissions restrictions to users/groups. Permission options available in the system
are the following:

User and Permissions 391


E3 – User’s Manual

Allow command: Enabling this option, the user /group can access the security
item (Screen/Alarm/Domain). In case of the security item Screen, it is possible to
open the specific Screen.
In case of the security item Alarms, a new register in the Database will be inserted,
indicating the alarm acknowledgment. In the alarm viewer object, for example, the
E3Alarm, corresponding line will indicate the alarm has been acknowledged. This
user/group can globally acknowledge all alarms, the current filter alarms or only one
selected alarm.
In order to enable this command, select the security item desired and double-click
the icon or Right-click the field Permissions and select the option Do not allow the
command. The system will show the icon (solid light green icon), indicating the
permission to the item.

Picture 332: Allow the command open Screen

Picture 333: Allow acknowledging alarm

NOTE: In an application, all users have access to the Opening Screen. In case you
desire the application always start with user login, create a user “ E.g.: User1” who
does not have permission in the Initial Screen. Thus, every time the application is
started, the system will ask for user login and then, it will show its Opening screen.

Deny command: By enabling this option, the user /group will not have access to
the security item (Screen/alarm/domain). In case of the security item Screen, the
user can not open the Screen and after the long the following message will be
shown: “ User does not have credentials to see the Initial Screen. Contact the person
in charge for the application” .
In case of the security item Alarms, the user can not acknowledge the alarm.
E3Alarm will remain showing the alarms with no modification. In this case, a new
register will be added in the Database, and in the E3Alarm, in the corresponding
392 User and Permission
E3 – User’s Manual

line, that will report the alarm is off the alarm condition, i.e., it is not acknowledged.
User can not acknowledge the current filter alarms or a specific alarm and the
following message will be shown in case user desires to setup some of the alarm
options: “ Logged user does not have credentials to acknowledge all alarms
selected” .
In order to enable this command, select the security item desired and double-click
the icon or Right-click the field Permissions and select the option Do not allow
the command. System will show the icon (solid red icon), indicating that item is
not allowed to that user/group.

Picture 334: Do not allow opening Screen

Picture 335: Do not allow the command Acknowledge alarm

Use group information: This feature uses the group information comprising
that group/user. In case of the security item Screen, if the group comprising the
user/group allows the command Open Screen, the user/group can open the Screen,
for the group to which it belongs allowing this command. The same happens in case
the security item Alarms, through which the group/user can acknowledge the alarm,
for the group it belongs allow the acknowledgment.
On the other hand, if the group comprising the user/group does not have access to
the security items, the user/group cannot open the Screen, in the case of the security
item Screen, and/or cannot acknowledge the alarm, in case of the security item
Alarm.
In order to enable this command, select the desired security item and click the icon
or Right-click the field Permissions and select the option Use group information.
The system will show the icon as group specifications: transparent green icon , in

User and Permissions 393


E3 – User’s Manual

case the group has permission to the security items and the transparent red icon ,
in case the group has not access to the security items.

Picture 336: Group information allowing access to Screens

Picture 337: Group information through which the access to Screens is not allowed

Picture 338: Group information allowing the acknowledgment of the

Picture 339: Group information not allowing the acknowledgment

Not informed: By enabling this option, indicates the user/group is using the
group definitions, which at this moment is not restricted to the security items. In
such case, the command is considered allowed and the user/group can open the
Screen and/or acknowledge the alarm. This command can be accessed by double
clicking the item icon . The system will show the icon (transparent icon),
indicating there is no restrictions to the security items.
394 User and Permission
E3 – User’s Manual

Picture 340: Parameter not informed to the Screen

Picture 341:Parameter not informed to the alarm

The security item Domain has a behavior differentiated in relation to the


permissions. According to the permissions settings of each user/group, some
operations will require identification to be executed:
• If there is no user created, the permission checking is not enabled or there
is no user with restriction for a specific operation, then the identification
will not be required (user will be logged as anonymous).

If there is user created, the checking is enabled, and there is at least one
user who cannot run a specific operation, the for this operation will not be
required identification (the access as anonymous user will not be
allowed).
The permission options, available in the security item Domain are the following:
• Run domain: Specify the domain execution;
• Stop domain: Stop the domain execution;
• Edit domain: Open the domain setting dialog box;
• Run as service: Run the domain as service;
• Setup users/groups: Open the users/groups setting dialog box.

Picture 342: Options available in the Domain security item

User and Permissions 395


E3 – User’s Manual

In the user permission settings dialog box it is possible to define three types of status
for the items above: Allow command; Do not allow command or Use group
information.
By enabling any of these options of the permissions list for Allow command, the
user/group can run the operation on the domain with no restriction. For that, select
the domain, select the item desired in the Permissions list and double click the icon
or Right-click it and select the option Do not allow command. The system will
show the icon (solid light green icon), indicating the permission to the item.

Picture 343: Allow command

It is also possible to deny the command permission for the item selected. For that,
select the domain, select the item desired in the Permissions list and double click
the icon or Right-click it and select the option Do not allow command. System
will show the icon (solid red icon), indicating that the operation is not allowed to
that user/group. When the domain is executed, user login will be required and the a
message will be shown, as the Picture below:

Picture 344: Message indicating the user does not have a permission to run the domain

In order to use the group settings comprising the user, select the security item
Domain, mark the item desired in the Permissions list and triple click the icon or
Right-click it and select the option Use group information.

396 User and Permission


E3 – User’s Manual

Picture 345: Use group information:

The system will show the icon as group specifications:

Transparent icon: In case the group comprising the user does not have
restrictions to any of the options of the security item Domain permissions list.
Transparent green icon: In case the group comprising the user has permission
to any of the options in the security item Domain permissions list.
Transparent red icon: In case the group comprising the user does not have
access to any of the options of the security item Domain permissions list.
I do not want permissions checking: With this option enabled, the permission
checking will not be done even though there are users with restriction. In case there
are no users, the permissions checking will not be done.
OBS: The nomenclature and description of these restriction parameters can be
accessed through the option Caption.

Picture 346: Users/groups permissions caption

User and Permissions 397


E3 – User’s Manual

In order to run, stop or edit a domain or setup users/groups, it is necessary the user
be logged on the E3. For that, the options Login/Logout available in the Menu File
are used.

Picture 347: User Login/Logout

Login option opens a dialog box for “ login” (user authentication) in the application.
User remains in the memory until another login or logout is done (user exit from the
application).
When a Screen is to be opened (through OpenScreen() method), it is checked
whether any security setup exists. In positive case, the Screen will only be opened if
the user logged has a permission. In case he does not have a permission, a message
is shown, as the Picture below:

Picture 348: Access error message

The option Logout executes the logout (exit of current user from the application)
from the Viewer. In case there is no user logged on, this option does not have effect.
From this moment on, it will be considered that an "anonymous" user is using the
application.

398 User and Permission


E3 – User’s Manual

!! , 4 /
Protects a .prj or .lib file content against unauthorized edition, view, or execution.
To use this resource, follow these procedures:
Right-click the project’ s name on Organizer and select Protect option.
System will open a dialog box with the following options:

Picture 349: Protection

This option has two types of protection: Studio Protection and Execution
Protection.
Studio Protection: Protects the file against unauthorized alterations or viewing. It
is used to keep a given library or project from being accidentally altered, or
developer’ s exclusive procedures from being copied.
Add protection button allows configuring a protection password for the system.
User and Permissions 399
E3 – User’s Manual

Picture 350: Add protection

Change password button alters studio protection password for the file.

Picture 351: Change password

Remove protection button removes studio protection for the file. To do so, just
click the button, type the password and press [ F; then the system will open a
message box that informs whether the action was executed correctly.

Execution Protection: Protects the file against unauthorized execution. For this,
it is necessary to ask Elipse Software for a protection password recorded in the
Hardkey. When E3 Server’ s license is being commercialized, the execution
password must be supplied. However, it is possible to get this password some time
after E3’ s purchase.
Add protection button allows configuring a protection password for the system.

400 User and Permission


E3 – User’s Manual

Picture 352: Add protection

Change password button alters execution protection password for the file.

Picture 353: Change password

Remove protection button removes studio protection for the file. To do so, just
click the button, type the password and press [ F]; then the system will open a
message box that informs whether the action was executed correctly.

When a .lib or a .prj file is open at E3 Studio, it will display a gray icon with
a lock, which indicates that this file is protected and its content cannot be accessed.
To access file content, right-click the project or library and select the option Open
with a password. After informing the password and having the system release
access, the icon turns colorful , indicating files accessibility.
Protected .lib and .prj file content is crypto graphed. Whenever a project is
protected, DocString and Domain properties are blocked.
IMPORTANT: Implemented protection cannot be undone in case the password is
lost. So, when you protect a given file, store the password in a safe place. This
guarantees that you will be able to use your file whenever it is necessary.

User and Permissions 401


!" !" "% & F " 3 .% &

E3 Viewer is E3’ s visualization environment. With E3 Viewer, you can see the
applications made at Studio being executed.
E3 WebViewer is an ActiveX component that causes the browser to behave like E3
Viewer, which enables viewing and controlling E3 applications via internet. So, it is
possible to view and interact with a plant floor process by using any web browser.
This browser can be installed in any computer on the network accessing E3 Server.
After being installed, E3 WebViewer will work exactly like E3 Viewer,
downloading the application (Screens, bitmaps, etc) to the local machine. All E3
Viewer functionalities (E3Chart, E3Alarm, etc) are supported at E3 WebViewer.

Picture 354: E3 WebViewer running (viewing an application)

E3 WebViewer 403
E3 – User’s Manual

!" % & $ 1C #$ 1 ( D
Viewer Only mode (Read-Only mode, or restricted access) is a way of controlling
the access Viewer has to the server (Domain), as opposed to Viewer Full mode,
which has no access restrictions.
Through user’ s permissions settings (chapter Security), and according to the type of
Viewer license in use (chapter Domain), the server will determine whether Viewer
mode is Full (regular) or Only (restricted). When Only mode is on, several
restrictions are applied to the actions that can be written in the server. In this case,
the following items are blocked (be them via scripts or by generating an error
message):
• Writing in general on server objects’ properties via links through the Viewer.
• Writing in general on server objects’ properties via Viewer’ s scripts.
• Viewer’ s SetValue() and ToggleValue() methods (including Load / Toggle
Value picks).
• Calling server objects’ methods via Viewer’ s scripts (see exceptions ahead).
• User administration via Viewer (by using Viewer’ s UserAdministration()
method).
• Acknowledging alarms via E3Alarm.
• Using Viewer’ s LoadFormulaDlg(), LoadFormulaValues() and
LoadFormulaValuesQuiet() methods.
Remain permitted when this mode is on:
• Reading server objects’ properties, be it via links or scripts.
• Calling methods considered non-restricted of Viewer’ s server objects via scripts.
These are: Item() (all objects); Refresh() (OPC group); FindUnit(), FindValue(),
GetValueData() and GetUnitData() (Formula); GetAlarm() (Alarm Source);
GetE3QueryFields(), GetADORecordSet() and GetAsyncADORecordSet()
(Query); and GetObject() (ServerApplication).
• Changing server tags’ Advise status.
• Changing own password (Viewer’ s ChangePassword() method).

!" + +% & (
For the user to access E3 with Read-Only mode on, at least one of these two
conditions must be true:
• License in use: Viewer Only;
• Logged on user with no permission to access the item “ Access to write on the
server”

404 E3 WebViewer
E3 – User’s Manual

It is worth noticing that in case there is no user logged on the viewer (anonymous
user), the access restriction will be applied as long as one or more users have this
restriction.
Thus, every time there is a change in user the Viewer access mode can be changed
(and, consequently, IsViewerReadOnly property), according to the result of what us
permitted by the license in use and logged on user’ s permission.
The change in access mode can also happen in case there is Viewer’ s reconnection,
since it can trigger either license change (from Viewer Full to Viewer Only, and
vice-versa) or logged on user’ s change of permissions.
In case there is any user with “ Access to write on server” blocked at the moment of
Viewer opening, they will enter the system automatically with Read-Only mode on,
regardless of the license in use, since the anonymous user will always assume the
maximum restriction configured.

!" ! + "% &


There are three different ways you can run your E3 Viewer: via local server, via
intranet server, or via internet server. In the sections below, you can see more details
about them.

!" ! %
You can run your E3 Viewer through Default Toolbar:

Picture 355: Default Toolbar

Saves and runs the Domain: Saves all configurations in the project, runs the
domain, and executes E3 Viewer.
Runs/Stops Domain: Runs domain, or stops domain execution.
Runs/Stops E3 Viewer: Runs E3 Viewer, or stops its execution in case it is
already open.
When E3 Viewer is executed, the following window is displayed by the system,
indicating connection status.

E3 WebViewer 405
E3 – User’s Manual

Picture 356: E3 Viewer’s connection status

Whenever the connection to the server is lost, E3 tries to reconnect automatically,


according to the server’ s configurations. To determine which server will perform the
connection in case E3 Viewer fails, it is necessary to configure the option Servers,
configured via E3 Server, as explained in the chapter Domains.

!" ! ! % ((
E3 Viewer can also be accessed via command line. The possibilities are either

Viewer [server_name] [options]


or
Viewer [options] [server_name]

The argument [server_name] stands for the name of the machine where E3 Server
is running. If not informed, a dialog box is displayed asking about the server path of
the application, just like when you run E3 Viewer from Start menu (as shown in the
next section).
The configuration options for the command line are:
• -screen or /screen: Allows the user to inform a valid initial Screen, different
from the one configured in the domain.
Syntax: Viewer [server_name] –screen <screen_name>
• -noping or /noping: Discards the need for ping to the server before the
connection attempt (attempts direct connection).
Syntax: Viewer [server_name] –noping
• -readonly ou /readonly: Allows the user to specify whether the Viewer will
try to connect on Read-Only mode. When it is done, the Viewer will always
use a Viewer Only license.
Syntax: Viewer [server_name] -readonly

406 E3 WebViewer
E3 – User’s Manual

• -cachepath ou / cachepath: Allows the user to specify a different directory to


save Viewer’ s cache. If it is omitted, the value will be the Windows’ default
temporary directory (TEMP variable).
Syntax: Viewer [server_name] –cachepath <directory>

!" ! " %
To run a client application, you can access E3 Viewer on this path: Start Menu —
Programs— Elipse E3— Viewer.
E3 then shows the following dialog box so that you can inform the application’ s
server path:

Picture 357: E3 Viewer

If E3 Server is in the same machine as E3 Viewer, select the option Local Server.
Otherwise, if they are in different machines, select the option Network Server and
inform either the name or the IP address of the machine holding E3 Server. If E3
Server is available in a port other than the default (6515), inform the number of this
port in the field Network Server right after the IP number, separated by a colon (:).
To connect on mode Read-Only, check the option “ Start Viewer in read-only mode” .

!" " % & +


E3 can generate E3 Viewer logs. These logs are generated when E3 Viewer is
executed, and they are recorded into the folder C:\E3Logs (when there is one). For
further information on log generation at E3, check the topic Creating logs at E3, in
the chapter Domains.

E3 WebViewer 407
E3 – User’s Manual

!" , + " 3 .% &


While E3 WebViewer is being installed, the files E3web.asp and docwrite.asp
becomes available for configuration to the user. These files are located in the same
directory where E3 has been installed, in the folder WEB.
The page docwrite.asp is initially configured for when E3 Server is running in the
same computer (web server). However, it is possible to alter the source-code of this
page to meet the necessary configuration. To do so, just alter its source-code like in
the example:
from

<param name="Domain" value="\\<%=


Request.ServerVariables("SERVER_NAME")%>\">
to
<param name="Domain" value="\\ServerName">
Where ServerName is the name of the computer running E3 Server.
In case you want to allow the user to inform a valid initial screen, different from the
one configured in the domain, alter the line below by placing a valid Screen name in
the application into "screen_name":
<param name="Screen" value="screen_name">
In case you want to inform whether ping for the server must occur before trying the
connection, alter the line below. The value can be either True or False.
<param name="Ping" value="TRUE">
If this line is omitted, ping occurs.
In case you want to specify a different directory to save Viewer’ s cache, alter the
line below. If it is omitted, the value will be the Windows’ default temporary
directory (TEMP variable).
<param name="cachepath" value="cache_directory">
E3 WebViewer’ s configuration to open on Read-Only mode is made on the page
ASP/HTML, which specifies its opening via StartReadOnly property (either True or
False). If there is no such item in the HTML, then False is the assumed value
(behavior compatible with previous versions).

408 E3 WebViewer
E3 – User’s Manual

Example:
<html>
<head>
<title></title>
</head>
<body topmargin=”0” leftmargin=”0”>
<object classid="clsid:7EB4D157-FACC-45BB-9536-C14B9DCE3CA7"
id="E3 Viewer1" width="100%" height="100%" align="center">
<param name="_Version" value="65536">
<param name="_ExtentX" value="19209">
<param name="_ExtentY" value="14552">
<param name="_StockProps" value="0">
<param name="Domain" value="\\luciano">
<param name="StartReadOnly" value="False">
</object>
</body>
</html>
If E3 WebViewer is used in another program (other than the Internet browser), it is
also possible to set the Boolean property StartReadOnly. Its default value is False
(compatible with previous versions).
In both cases, this configuration will only be effective in the initial opening of E3
WebViewer. If the property is changed in runtime, E3 WebViewer’ s
connection/reconnection will not be affected at all.
Both servers and E3 WebViewer can run in the same machine or in different ones.
In the sections below you will see how these situations apply.

!" , "
To make E3 applications available on the web you have to use an internet server that
runs E3 WebViewer control page’ s scripts correctly. Any internet server can be used
for this, so long as it runs .asp pages. One of these servers is IIS (Internet
Information Services), which comes along with Windows® starting pack. To access
it, follow these procedures:
Open Control Panel;
Access the option Add/Remove programs;
Click on Add/Remove Windows Component;

E3 WebViewer 409
E3 – User’s Manual

Picture 358: Internet Information Service (IIS)

Select the item Internet Information Services (IIS) from the list and
click on Next;
The system will start installing the software (to install IIS it is necessary
the Windows installation CD).
Wait for process finalization to configure the system.
After IIS has been installed, the file E3Web.asp (properly configured) must be
copied to "c:\InetPub\wwwroot". This folder is created when IIS is installed. Apart
from the .asp file, all E3 WebViewer installers must be copied to the same folder.
These installers are used when the client machine accesses the server for the first
time, in case E3 had not been previously installed into this machine. They are: e3-
w2kwebviewer-us.exe for Windows 2000, 2003, NT and XP; and e3-
w98webviewer-us.exe for Windows 98 and Me. These files are inside E3’ s
installation CD, or downloaded from Elipse’ s website.
IIS still needs to be configured to work properly, and detailed information on this
subject can be obtained at Elipse’ s website (www.elipse.com.br), in the article
"Publicando aplicações E3 na Internet com o Microsoft Internet Information
Services" (to be translated).
To view your application, just type onto the browser’ s address bar your server’ s
address or IP (E.g.: http://servername, 192.0.0.021, etc). The component is signed by
Elipse Software, and the user must accept its installation so that it can start the
necessary configurations.

410 E3 WebViewer
E3 – User’s Manual

Picture 359: E3 Viewer Installation

The next time you access it, it will no longer be necessary to install the components,
and connection time will be faster.
NOTE: The client’ s version must be exactly the same as the server’ s. For that, the
installers in the server (e3-w2kwebviewer.exe, e3-w2kwebviewer-us.exe, e3-
w2kwebviewer-de.exe, e3-w98webviewer.exe, e3-w98webviewer-us.exe, or e3-
w98webviewer-de.exe) must always be the most recently updated.

!" , ! " (
To view E3 applications on remote machines that are inside a local network, you can
choose between using or not the internet server. If you opt for using it, the
procedures are the same as the ones described in the last section.
In case you do not want to use an internet server, the procedures are simpler, and
apply to using E3 WebViewer and E3 Server either in different machines (intranet)
or in the same machine (local access). Just alter the file E3Web.asp and place the
name of the machine where E3 Server is running. To do so, just replace the line
<param name="Domain" value="\\<%=
Request.ServerVariables("SERVER_NAME")%>\">

with

<param name="Domain" value="\\ServerName">


To view the application, open the file E3Web.asp by using the browser.

E3 WebViewer 411
!, !, 0 # )1

E3 Hot-StandBy tool aims at allowing a server remains in standby, waiting for a


possible failure of another server (active server). The change of active server can be
manual or automatic.
Manual change is activated through the E3 Server menu of the computer in standby
(option Server - Activate). Automatic change occurs when the server in standby
detects the main server is not running anymore. A server can assume one of the
following statuses:
• Server under maintenance: This status is indicated in the domain
server settings. A server under maintenance does not participate in any
domain event.
• Active Server: Only one server can be in standby in a domain at a
certain moment. Active server is that one running the application
(E3Run).
• Standby Server: Only one server can be in standby in a domain at a
certain moment. Standby server runs the E3Run in standby mode, the
application remains loaded, only waiting for a command to start
operations. Backup server monitors the active server, if it is not
answering, the backup is activated.
• Inactive Server: A server gets inactive when it is declared in the
domain, but it is neither selected as a “ Main Server” nor as a “ Backup
Server” . Even inactive, this server monitors the changes in the domain file
that can change to Active or Standby status, if the domain is reset.
IMPORTANT: In order to run an application distributed in the E3, it is necessary
that all servers run the same software version and have a local and updated copy of
the domain files (.PRJ and .LIB), that must have the same path. The .DOM file is
automatically synchronized by the E3 Server, i.e., changes made in the .DOM file in
a server, are automatically copied to the .DOM file of other domain servers.

!, + . (
In order to run a distributed domain, simply start one of its servers; the other servers
are automatically started by the first server. In order to start a domain, create a
shortcut to E3 Server with the following command line:
E3 Server.exe –start c:\folder\domain.dom

Hot-StandBy 413
E3 – User’s Manual

This command can be done including from a server that is not part of the domain.
This server will start the domain servers and then it will be automatically closed. A
domain can be also started through the Studio. For that, simply open the domain and
click the button .

!, ! + . (
A domain can be stopped by any of its servers, through the E3 Server icon in the

System Tray ( ). Choose the option “ Domain...” -> “Stop” and the Active and
the Standby server will terminate the E3Run process. The domain can be restarted
by choosing the option “Domain...” -> “Run”. If you choose the option
“Domain...” -> “Close”, the E3 Servers will be closed and the servers will be able
to run other domains.
IMPORTANT: The options stopping and closing a domain AFFECT ALL
DOMAIN SERVERS and not only the server where the command is executed!!!

!, " + 7 (
The correct manner of stopping one of the domain server is checking it as “ Under
maintenance...” in the domain settings. If the active server is set under maintenance,
the standby server will pass to active status. To set the server back in the domain,
unmark the option “ Under maintenance...” of this server.

!, , & ( . &
Default time interval for the backup server to take on when the active server fails is
15 seconds. However, it is possible to configure this time through the item
/%: % 6 # : (as seen in the topic “ Domain Options” , in the chapter
“ Domains” . For further information, see that chapter).
This time interval allows the former server to finish running the application (in case
only the network fails). The configured time affects directly timeout of ping between
servers. If it is too low (switchover in 1 second, ping timeout = 160 ms), there can be
some spontaneous server switchovers caused by minor failure on the network.

!, - % &
When there is a server change, the Viewers start the reconnection process alternately
trying to connect to the backup and the active server. User has the option of wait for
the end of the reconnection process to the current Viewer, cancel the reconnection
(and close the Viewer) or open a new Viewer session with the new server.

414 Hot-StandBy
E3 – User’s Manual

!, 8 + . & 0 # .1
We can have two servers running separately in the same application. One of them
remains active, while the other remains in standby status, waiting for a possible
failure.
Hot-Standby ensures the application continuity, but when we use Database, we also
have to ensure the access continuity to the database.
We have two manners of solving this problem. In the first, both applications access
the same database. We enabled the DB access in the application, setting up the
DBServer object in both servers (Main and StandBy) with the same parameters for
DB location in the network. In order to ensure the system continuity, it is important
the database be in a separate machine, accessible to the two servers.
In the second manner, the data recording is made in different bases. In this case, the
ideal is to have two databases running locally in both servers. So that we ensure the
access to the DB will be always available, for the machine running the application
also runs the Database.
An interesting option in this case is the synchronism between the different bases of
the main and secondary application. The property EnableSynchronization of
DBServer object enables this feature in the application. When it is active, all data
recorded in the main basis are updated in the Standby basis almost instantly.
NOTE: If the main application can not send data to the StandBy server, these data
must remain stored on a local disk for later sending (when the communication
between the two computers is reestablished), ensuring the equality among the tables
generated by the application.

!, 9 7+ +0 # )1
The Hot-Standby allows implementing the “ fail-over” concept in a supervisor
system. This concept consists of the possibility of having two servers (main and
backup), one acting as a contingency of the other, that is, if the main server fails, a
backup server immediately starts to act, with no loss of process continuity. This
standby server, we can say it is in “ Standby” .
The settings to be made in order to implement the Hot-Standby are the following:
Locate the domain path in the main computer and copy this folder to the
standby computer, in the same location. (E.g.: If the domain and other files
(libs, prjs, etc) are in the path “ C:\Projeto1” in the main server, the project
must be copied to the same path in the standby computer, i.e.,
"C:\Projeto1” ).
Database files must be treated in a differentiated manner. For further
information, see topic “ Using Database with Hot-Standby” .

Hot-StandBy 415
E3 – User’s Manual

Access the E3 Server icon in the system tray and select the options
Domain – Options;

Picture 360: E3 Server

In the tab Servers, add the main and backup servers. Setup the options
Server Name and Server identification in the network. E.g.:
• Server name: Server1
• Server identification in the network: \\Computer1.

Picture 361: Server Settings

416 Hot-StandBy
E3 – User’s Manual

In the tab Options, enable the item Enable network distribution. In


the field Main server, select the main server of your project and in the
field Backup server, select the backup server. E3 will search for the main
server by alphabetical order.
Define the option PING address for network integrity. This option
specifies a third network entity (the others are the main and backup
servers) to specify whether the network is working. If it is neither possible
to access the integrity address nor the backup server, the main server
assumes that its network interface has problem and immediately
terminates the domain execution.
Enable the option Activate backup in case of local failure. This option
serves to enable the automatic change of servers when a local failure is
reported in the main server. Local failures are detected and reported by the
own application through the function Application.ReportFailure. The
change of servers is made only if backup server has no failures. For further
information on the function Application.ReportFailure see the “Scripts:
Reference Manual”.

Picture 362: Setting up network distribution

Hot-StandBy 417
E3 – User’s Manual

Click "OK" Button in order to confirm the setup.


When starting the execution of the E3, an icon represented by a yellow
rotating bar will be shown in the system tray of the computers
indicating the domains are being loaded. After some seconds, the E3
acknowledge the main computer and indicates in the system tray an icon
represented by a green arrow . This icon specifies that it is in execution.
In the standby computer will be shown an icon represented by two yellow
bars indicating it is in standby.

418 Hot-StandBy
!- !- +

There are certain E3 configurations that can be performed directly in Windows®


registry.

!- " / + 3 &
It is possible to choose between displaying and hiding E3Run’ s progress window
through the following Windows® registry key:
“HKEY_LOCAL_MACHINE\Software\Elipse Software\E3\E3Run”
The variable being configured in this key is “ HideProgressIndicator” , which
must be a DWORD.
If this key is not created, the system automatically assumes that the window must be
displayed.
If this key is created, there are two possible values for its configuration: “ 0” and “ 1” .
If “ 0” is configured, the progress window is displayed; if “ 1” is configured, the
progress window is hidden.

!- ! / * (
It is possible to enable REC communication packs compression between E3 Server,
E3 Viewer and E3 Studio through the following Windows® registry key:
“HKEY_LOCAL_MACHINE\SOFTWARE\Elipse Software\E3\REC”
The variable being configured in this key is “ CompressionLevel” , which must be a
DWORD.
If this key is not created, the system automatically assumes that the compression is
disabled.
If this key is created, any value ranging from “ 1” to “ 9” activates the compression.
The recommended value is “ 6” . Any value outside this range disables REC packs
compression.
This configuration can be applied only to the E3 Server or E3 Viewer running
locally in the machine. Both E3 Server and E3 Viewer support pack decompression,
regardless of their configurations.

Advanced Settings 419


E3 – User’s Manual

!- " / .1
It is possible to configure the number of the port used by REC through the following
Windows® registry key:
“HKEY_LOCAL_MACHINE\SOFTWARE\Elipse Software\E3\E3Server\REC”
The variable being configured in this key is “ IPPort” , which must be a DWORD.
If this key is not created, the system automatically assumes default port “ 6515” .
If this key is created, the configured value indicates the number of the port used by
REC. You can use values higher than “ 1024” , and up until “ 65535” . Values equal to
or lower than “ 1024” are reserved. Null or invalid values enable port “ 6515” .

!- , /
When using biprocessed computers, it is possible to configure E3 Server to use
either just the first CPU or all CPUs available in the system through the following
Windows® registry key:
“HKEY_LOCAL_MACHINE\SOFTWARE\Elipse Software\E3\E3Server”
The variable being configured in this key is “ AllowMultiCPU” , which must be a
DWORD.
If this key is not created, the system automatically assumes that the E3 Server will
run in all CPUs.
If this key is created, any value different from “ 0” enables E3 Server to run in all
CPUs available in the system. If “ 0” is configured, the E3 Server will run in only
one CPU.

!- - " +
It is possible to make E3 Server detect the disconnection of remote Viewers quickly,
thus interrupting the gathering of data to be sent to the Viewer, through the
following Windows® registry key:
“HKEY_LOCAL_MACHINE\SOFTWARE\Elipse Software\E3\E3Server”
The variable being configured in this key is “ PingTimeout” , which indicates ping
timeout in milliseconds.
If the variable’ s value is not specified, the system assumes the default value 2000
ms.
If the variable’ s value is set for 0, this ping device will be turned off.
Ideally, you should always use the smallest possible value allowed by the network.
This causes E3 Server to detect when Viewers are down as fast as possible, which
avoids the excessive piling up of messages.

420 Advanced Settings


!8 !8 "

This chapter is dedicated to those used to the Elipse SCADA features and
functionalities, but will notice many differences between the work method when
compared to the E3 Studio. In general, E3 Studio features diverse improvements
bringing a higher processing capacity of supervision and general control tasks,
besides diminishing the time spent in the application setup, especially for large
systems.
We can shortly mention the following improvements:
• Layers architecture similar to the concept of Internet
Applications, with the server being executed if a manner totally
independent from the viewers (Web Server / Internet Browser);
• Distribution capacity of server processing between diverse
computers; it can be executed in each server station of each application
module, or even run the same module in many stations (parallel
processing);
• Setup and Execution of diverse projects simultaneously: Studio
allows editing diverse projects at the same time, besides allowing many
people to share the editing of each project or module through network,
increasing the on-line collaboration capacity. A set of applications
simultaneously executed, with interactions among themselves forming a
Domain that causes system maintenance facilities, besides allowing the
HotStandBy (Duplicity) among its modules;
• Powerful Graphical Interface, with the presence of a full vectorial
graphical editor, able to develop any type of interactivity to the user.
Diverse vectorial graphical formats can be imported, such as the
Metafiles, besides the use of universal controls with ActiveX technology;
• Scripts Programming Module in VBScript language, allowing the
use of widely divulged features of Internet pages programming, besides
allowing the same features made for a local application (through E3
Client) to be used when operating through the Web.

E3 vs. Elipse SCADA 421

You might also like