Professional Documents
Culture Documents
2. E3 STUDIO................................................................................................................................................................. 19
3. DOMAINS................................................................................................................................................................... 77
9. LINKS....................................................................................................................................................................... 203
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
Explorer1 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
% &
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.
, (
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
- . / *
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.
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:
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:
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.
22 E3 Studio
E3 – User’s Manual
) ' ): Enables bar viewing, and edition or creation of new toolbars, as well
as their settings.
E3 Studio 23
E3 – User’s Manual
24 E3 Studio
E3 – User’s Manual
E3 Studio 25
E3 – User’s Manual
!"! $ +
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
Note: Close all Scripts Editors so that these changes can be applied.
E3 Studio 27
E3 – User’s Manual
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:
!, ' .
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
30 E3 Studio
E3 – User’s Manual
%
6 & Inserts a CheckBox.
# Inserts an OptionButton.
# Inserts a SpinButton.
Inserts a ToggleButton.
((
E3 Studio 31
E3 – User’s Manual
7( Inserts polygon.
:!# 7( Inserts curved polygon.
% Inserts Picture.
+'
#7 Inserts Display.
Inserts SetPoint.
% Inserts Scale.
# Groups an object selection.
! )%
6 Sends object to the back of the group.
( " ! Brings object forward.
!)%
6" ! Sends object backward.
= Edits the level of zoom on the Screen.
32 E3 Studio
E3 – User’s Manual
! %
6 '
' Defines border thickness.
E3 Studio 33
E3 – User’s Manual
!, * (
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:
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
! ,! 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.
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.
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
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
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
InitialScreen
CommandButton1
Screen1
CommandButton1
40 E3 Studio
E3 – User’s Manual
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.
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.
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.
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:
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.
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 [ :].
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:
! -- /
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:
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
!- < * 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.
E3 Studio 51
E3 – User’s Manual
! 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.
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:
E3 Studio 53
E3 – User’s Manual
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
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
E3 Studio 57
E3 – User’s Manual
# ( ): With this option, you can configure options valid only for
importing.
58 E3 Studio
E3 – User’s Manual
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
60 E3 Studio
E3 – User’s Manual
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
62 E3 Studio
E3 – User’s Manual
# ' ): 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
64 E3 Studio
E3 – User’s Manual
By pressing the button , the following window is opened for property selection:
E3 Studio 65
E3 – User’s Manual
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
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:
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.
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 [ # ].
! 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.
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.
!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
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.
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.
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:
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:
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.
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
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:
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:
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.
Next, you must decide whether you want to include open projects or libraries into the
new Domain just created.
• 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
[- & ].
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 [ "' ].
In case this folder does not exist, a modal window will pop up, and you can decide
whether you will create it or not.
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.
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
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
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
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
"" ( 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.
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
88 Domains
E3 – User’s Manual
Domains 89
E3 – User’s Manual
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 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>
" ," ( 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:
" ,, % &
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:
94 Domains
E3 – User’s Manual
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.
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.
DB
Domains 97
E3 – User’s Manual
98 Domains
E3 – User’s Manual
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:
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.
100 Domains
E3 – User’s Manual
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"
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.
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
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.
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.
104 Domains
E3 – User’s Manual
",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
106 Domains
E3 – User’s Manual
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.
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.
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:
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.
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:
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
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
,,
, 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.
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:
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.
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.
The Driver Manager allows you to view all drivers being executed, as well as their
properties.
Drivers 117
E3 – User’s Manual
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:
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.
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.
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
Drivers 123
E3 – User’s 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.
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.
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:
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.
Inform Address and Server ID, and then click [ % .]. The following window is
displayed:
Drivers 129
E3 – User’s Manual
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
Drivers 131
E3 – User’s Manual
132 Drivers
E3 – User’s Manual
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:
Drivers 133
E3 – User’s Manual
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.
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.
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.
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;
138 Drivers
E3 – User’s 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
Drivers 139
E3 – User’s Manual
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.
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
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
Drivers 143
E3 – User’s Manual
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
,,! ( 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
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.
- 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.
-! ( ' +
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.
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.
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:
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.
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.
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.
Grids can be withdrawn or inserted through the menu Arrange, or through the icon
on Alignment Toolbar .
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:
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:
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
position as the Screen layer. To access this property’ s options, just click on it on
Properties List.
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).
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”.
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.
9! +
Draws rectangles, using object’ s height and width.
Created from two vertices, it can be resized/rotated freely.
After being inserted onto Screen, the object will be named Rectangle.
To use this object, follow these procedures:
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.
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:
9,
This object allows drawing circles and ellipses. It can be resized/rotated freely.
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.
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:
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.
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:
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.
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.
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.
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.
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.
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.
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.
This object can be resized/rotated freely. After being inserted onto Screen, it will be
named Scale. To use this object, follow these procedures:
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.
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.
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:
• 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.
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.
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.
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.
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.
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.
To withdraw shadow effect, just select the object and access the icon shadow on
Toolbar.
9 , 8 4 +
Each graphic object can have its content filled according to the options available in
FillStyle property, from Properties List. They are:
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.
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.
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.
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.
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.
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.
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
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:
General
There is no specific formatting. It is performed automatically depending on datatype.
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.
Date
Presents numerical values (Gregorian format) for date and time, when they are valid.
Use Date format to present only date.
Time
Presents numerical values (Gregorian format) for date and time, when they are valid.
Use Time format to present only time.
Percent
Multiplies the number by 100 and adds the percent symbol to it, defining the number
of decimal places as well.
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.
Special
Allows formatting integers in non-decimal bases (hexadecimal, octal, and binary).
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 (;).
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
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:
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.
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.
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:
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
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:
Click on the button [, ( ' ]. The system then opens a dialog box for
locating the file where the ActiveX is.
:! + @ .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.
Picture 153: Objects Toolbar and ActiveX access via right-clicking the Screen
:" 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.
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.
:"" (. )
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.
:", (( )
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.
:"- .
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.
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.
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.
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.
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.
:"; ' )
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.
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.
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.
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.
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.
;! )#
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
;" +
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).
Links 205
E3 – User’s Manual
;, +
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
;- ' .
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.
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.
;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
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
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
To edit user events properties, it is necessary to select the row containing the event
and, on Connection column, click the option Edit.
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
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.
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.
Each field on this tab has a corresponding property. The available options are:
216 Viewer
E3 – User’s Manual
< ! ((
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
<! % . % &
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.
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.
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:
222 Database
E3 – User’s Manual
! $ .
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:
Database 223
E3 – User’s Manual
!! +$ .
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:
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:
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.
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:
228 Database
E3 – User’s Manual
"! + = !<<<
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.
Database 229
E3 – User’s Manual
"" + $ )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.
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
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.
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:
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
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
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).
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.
Alarms 239
E3 – User’s Manual
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.
240 Alarms
E3 – User’s Manual
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.
!! 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
Each field in Configuration tab has a corresponding property. The available options
are:
Alarms 243
E3 – User’s Manual
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
246 Alarms
E3 – User’s Manual
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
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.
Alarms 249
"" " (
Picture 200:E3Alarms
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.
Each field on General tab has a corresponding property. The available options are:
252 E3Alarm
E3 – User’s Manual
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).
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.
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.
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.
Each field from Sorting tab corresponds to a certain property. The available
properties are:
256 E3Alarm
E3 – User’s Manual
" , +
With Colors tab you can define alarms acknowledgment colors. Every item has
specific information regarding alarm status.
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:
• Unacked alarm: The color changes whenever the alarm leaves the condition and
is unacked. When you click on [ ' ] button, E3 opens this dialog box:
• 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
" - 4 +
With Font tab you can configure the font of E3Alarm’ s header and rows.
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.
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
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.
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.
Historic 263
E3 – User’s Manual
Creates a primary-key.
, 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:
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:
In this dialog box, just select your preferred field as Primary Key.
The available options are:
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:
Historic 267
E3 – User’s Manual
268 Historic
E3 – User’s Manual
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
270 Historic
E3 – User’s Manual
Historic 271
E3 – User’s Manual
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.
272 Historic
E3 – User’s Manual
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
When the table is selected and OK Button is clicked, the system shows the
following message:
Two other buttons are enabled when this item is used: Keep Historic unlinked
When the option Keep Historic unlinked to existing table is enabled, the
system shows the following message
274 Historic
E3 – User’s Manual
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.
Compacted chart
The information is virtually the same as above, but there are fewer points.
- " + 7+
Whenever E3Storage is created on screen, a list with record fields’ definitions is
shown.
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:
E3Storage 279
E3 – User’s Manual
-! ' . 7+
You can access the configurations of the table used at E3Storage in two different
ways:
Each field in the tab E3Storage has a corresponding property. The available options
are:
280 E3Storage
E3 – User’s Manual
the button ).
E3Storage 281
E3 – User’s Manual
_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
-!
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
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:
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
-!"
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:
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:
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
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:
Where:
@iSubType: Function subtype, 0=previous, 2=next, 3=exact instant
@Data: Time instant for the search, in FLOAT format.
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.
E3NCompData
Equivalent to CompressedDataNValues function. Formal description is:
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:
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:
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:
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.
E3Query 293
E3 – User’s Manual
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:
After defining the Database server, a new window will appear with the
tables found in the Database, allowing its selection:
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:
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:
296 E3Query
E3 – User’s Manual
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.
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
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.
In these chosen fields are defined the following properties to each of them:
298 E3Query
E3 – User’s Manual
When defining a filter, the window below must appear, allowing to define the type
of comparison and the value to be compared.
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
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
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.
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.
Each field of Style tab has a corresponding property. Properties available are the
following:
E3Browser 305
E3 – User’s Manual
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.
Each field of Options tab has a corresponding property. Properties available are the
following:
306 E3Browser
E3 – User’s Manual
NOTE: Tab name comes in the language your Windows was configured, and not
necessarily in E3’ s language.
E3Browser 307
E3 – User’s Manual
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
Object
Queries Collection
Collection
Query
Axes Collection
Axis
E3Chart 309
E3 – User’s 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.
Each field of the Item tab has a corresponding property. The available options are:
310 E3Chart
E3 – User’s Manual
Each field in this tab has an equivalent property. The available options are
E3Chart 311
E3 – User’s Manual
With the tab General, you can specify chart’ s style and appearance.
Each field of the General tab has a corresponding property. The options available
are the following:
: ! " +
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
Each field in this tab has an equivalent method or property. The available options
are:
Click [/##7
] to view the changes made in this window, and [ F] to save them.
314 E3Chart
E3 – User’s Manual
Each field in this tab has an equivalent method or property. The available options
are:
E3Chart 315
E3 – User’s Manual
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
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.
Each field in General tab has a corresponding property. The available options are:
E3Chart 317
E3 – User’s Manual
Click [/##7
] to view the changes made in this window, and [ F] to save them
Each field in the tab Data has a corresponding property The available options are:
318 E3Chart
E3 – User’s Manual
Click [/##7
] to view the changes made in this window, and [ F] to save them
E3Chart 319
E3 – User’s Manual
Each field in the tab Style has a corresponding property. The available options are:
320 E3Chart
E3 – User’s Manual
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 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.
With the tab Legend, it is possible to configure information referring to the object
Legend, and its columns.
E3Chart 323
E3 – User’s Manual
Most fields in this tab have a corresponding property. The available options are:
324 E3Chart
E3 – User’s Manual
When you click Properties button, a dialog box is shown for configuring the object
Legend Column.
Each field from this dialog box has a corresponding property. The available options
are:
: - = +
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
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.
:! + "
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.
328 E3Chart
E3 – User’s Manual
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:
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.
NOTE: For further information on XTagValue and YTagValue columns, see topic
“ Legend Settings” .
“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.
“<Query_Name> (Disconnected)”.
This message indicates that E3Chart is not connected to the domain.
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.
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.
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
;! ' (
The first tab on this view is called Templates. Templates define which datatype can
be stored in each Formula variable and their restrictions.
Formulas 337
E3 – User’s Manual
This view’ s toolbar has the following buttons: Add , to create a new template;
and Remove , to delete the selected template.
338 Formulas
E3 – User’s Manual
;"
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.
Formulas 339
E3 – User’s Manual
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:
;, %
The third tab on this view is called Values. Value sets are the values transferred to
the units (to the tags).
340 Formulas
E3 – User’s Manual
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.
Formulas 341
E3 – User’s Manual
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.
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
Define the value sets to be loaded into the tags later. Create 4 value sets,
called Model1 to Model4, and input these values:
Formulas 343
E3 – User’s Manual
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
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:
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.
!< 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
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.
!< ! @
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.
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:
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.
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
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
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
! !
! = 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
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.
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.
Reports 361
E3 – User’s Manual
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.
Reports 363
E3 – User’s Manual
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.
364 Reports
E3 – User’s Manual
! "! +
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.
Reports 365
E3 – User’s Manual
The Printer Setting option sets up the specifications referring to the report printing.
366 Reports
E3 – User’s Manual
The Grid Setting option specifies the settings referring to the report grids.
Reports 367
E3 – User’s Manual
The Style option specifies the settings referring to the report style.
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.
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.
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.
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.
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.
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.
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.
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.
After being inserted onto Screen, the object will be labeled Field.
! ,: *.
The object Checkbox inserts data into the Report, bound or unbound to a Database
field. Its value is a Boolean.
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.
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.
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.
! , ! 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.
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.
374 Reports
E3 – User’s Manual
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:
376 Reports
E3 – User’s Manual
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.
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”.
!!
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.
When activating the [- "] button, the following message box is shown:
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.
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:
Select from the selection list the group/user you desire to insert in a
specific group.
In the list Groups available, select the group to which the user/group
will belong.
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.
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.
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.
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.
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
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 337: Group information through which the access to Screens is not allowed
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
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.
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.
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.
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.
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:
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.
!! , 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:
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
Change password button alters studio protection password for the file.
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.
Change password button alters execution protection password for the file.
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.
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.
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.
!" ! %
You can run your E3 Viewer through 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
!" ! ! % ((
E3 Viewer can also be accessed via command line. The possibilities are either
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
!" ! " %
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:
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 WebViewer 407
E3 – User’s Manual
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
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
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
E3 WebViewer 411
!, !, 0 # )1
!, + . (
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;
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.
416 Hot-StandBy
E3 – User’s Manual
Hot-StandBy 417
E3 – User’s Manual
418 Hot-StandBy
!- !- +
!- " / + 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.
!- " / .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.
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.