Você está na página 1de 111

Tutorial do E3 Avanado

Copyright 1999 - 2017 Elipse Software Ltda. Todos os direitos reservados.


Verso 4.8.239 (03/03/2017)
Sumrio
1 Treinamento Avanado ............................................................................................................................... 1
1.1 Exerccios ................................................................................................................................................ 1
2 Elipse Knowledgebase ................................................................................................................................. 2
2.1 Elipse Knowledgebase ........................................................................................................................... 2
2.2 Busca no Knowledgebase ...................................................................................................................... 3
2.3 Categorias ............................................................................................................................................... 4
3 Referncias aos Objetos .............................................................................................................................. 5
3.1 Application ............................................................................................................................................. 5
3.2 Objetos do Servidor ............................................................................................................................... 5
3.3 Mtodo Item ........................................................................................................................................... 6
3.4 Comando Set .......................................................................................................................................... 6
3.5 Eventos .................................................................................................................................................... 6
3.6 Exerccios ................................................................................................................................................ 8
4 Usurios ........................................................................................................................................................ 9
4.1 Login ....................................................................................................................................................... 9
4.2 Administrao de Usurios ................................................................................................................. 10
4.3 Confirmao de Senha ........................................................................................................................ 11
4.4 Bloqueio de Senha ............................................................................................................................... 12
4.5 Exerccios .............................................................................................................................................. 12
5 Bibliotecas .................................................................................................................................................. 16
5.1 XControl ................................................................................................................................................ 17
5.2 XFolder .................................................................................................................................................. 17
5.3 XObject .................................................................................................................................................. 18
5.4 Exerccios .............................................................................................................................................. 18
6 Layer ........................................................................................................................................................... 25
6.1 Exerccios .............................................................................................................................................. 26
7 Adicionando Objetos em Tempo de Execuo ....................................................................................... 27
7.1 Adicionar Objeto .................................................................................................................................. 27
7.2 Evento CustomConfig .......................................................................................................................... 29
7.3 Exerccios .............................................................................................................................................. 29
8 Arrays ......................................................................................................................................................... 31
8.1 Exerccios .............................................................................................................................................. 31
9 IOKit ............................................................................................................................................................ 32
9.1 Trabalhando Offline ............................................................................................................................. 32
9.2 Exerccios .............................................................................................................................................. 32
10 Importao e Exportao ........................................................................................................................ 38
10.1 Arquivo CSV ....................................................................................................................................... 38
10.2 Gerenciador de Modelos ................................................................................................................... 39
10.3 Exerccios ............................................................................................................................................ 41
11 Consulta .................................................................................................................................................... 43

I
11.1 Criando e Acessando Variveis ......................................................................................................... 43
11.2 Edio Direta do Cdigo SQL ............................................................................................................ 43
11.3 Update ................................................................................................................................................ 43
11.4 Delete .................................................................................................................................................. 44
11.5 Exerccios ............................................................................................................................................ 44
12 GetADORecordSet ................................................................................................................................... 50
12.1 Exerccios ............................................................................................................................................ 50
13 Storage ..................................................................................................................................................... 53
13.1 Funcionamento .................................................................................................................................. 53
13.2 Configurao ...................................................................................................................................... 54
13.3 Consultas Internas .............................................................................................................................. 55
14 Alarmes ..................................................................................................................................................... 57
14.1 Eventos versus Alarmes ..................................................................................................................... 57
14.2 Campos do Usurio ............................................................................................................................ 57
14.3 Assinatura Eletrnica ......................................................................................................................... 58
14.4 Exerccios ............................................................................................................................................ 59
15 Relatrios ................................................................................................................................................. 66
15.1 Group Header e Footer ..................................................................................................................... 66
15.2 Exerccios ............................................................................................................................................ 66
16 E3 WebViewer .......................................................................................................................................... 71
16.1 Aplicaes E3 na Web ........................................................................................................................ 71
16.2 Arquivos E3Web.asp e DocWrite.asp ............................................................................................... 76
16.3 Configurando o Internet Information Services ............................................................................... 77
16.4 Questes de Licenciamento ............................................................................................................... 94
16.5 Exerccios ............................................................................................................................................ 94
16.6 Exerccios Complementares .............................................................................................................. 94
17 Event Log Viewer ..................................................................................................................................... 96
17.1 Configurao do Armazenamento de Arquivos .............................................................................. 96
17.2 Abertura de Arquivos ........................................................................................................................ 97
17.3 Merge de Eventos .............................................................................................................................. 98
17.4 Filtros .................................................................................................................................................. 98
17.5 Exerccios .......................................................................................................................................... 100
18 E3 Tweak ................................................................................................................................................. 101
18.1 Configuraes do E3 Server ............................................................................................................ 101
18.2 Configuraes do E3Run ................................................................................................................. 102
18.3 Configuraes do REC ..................................................................................................................... 102
18.4 Configuraes dos Logs ................................................................................................................... 102
18.5 Configuraes do COM Filter .......................................................................................................... 102
18.6 Exerccios .......................................................................................................................................... 103
19 Preparatrio para a Certificao .......................................................................................................... 104

II
CAPTULO
Treinamento Avanado
1
Durante o Treinamento vo ser discutidos os seguintes itens:

Referncias aos Objetos: Referncia a objetos do Servidor e do Viewer, Comandos Item e Set, Eventos de
scripts

Usurios: Login, administrao de usurios, confirmao de senha, bloqueio de usurio, inatividade

Bibliotecas: XObject, XControl, Combo Box, Option Button, Tela Indexada

Layer: Camadas

Adicionando Objetos em Tempo de Execuo: AddObject, TypeName, CustomConfig, CreateLink

Arrays: Copiar configurao de objetos

IOKit: Trabalhando offline, Driver em Biblioteca

Importao e Exportao: Lista de Tags de Comunicao

Consulta: Consulta, Criando e Acessando Variveis, Edio Direta do Cdigo SQL, Update e Delete

GetADORecordSet: Buscando resultados de uma Consulta

Alarmes: Eventos, Campos do usurio, Assinatura Eletrnica, evento OnDrawRow do E3Browser

Relatrios: Grupos e Totalizadores

E3WebViewer: Publicando uma aplicao do E3 na Internet

Event Log Viewer: Logs do E3

E3 Tweak: Chaves de registro

1.1 Exerccios
1.1.1 Projeto
1. Crie uma nova aplicao padro com o nome "TreinamentoAvancado". Responda No pergunta sobre
comunicao com equipamentos e Sim para armazenar dados em banco de dados e para monitorar alarmes.
Salve os alarmes em disco.

1.1.2 Tela Inicial


1. Configure como figura de fundo da Tela a figura FundoQuimica, inserida como Recurso.

1 Treinamento Avanado
CAPTULO
Elipse Knowledgebase
2
O Elipse Knowledgebase tem como finalidade ajudar o usurio dos softwares da Elipse a encontrar respostas rpidas
para dvidas ou problemas que esteja enfrentando durante a sua utilizao, seja no desenvolvimento de aplicaes ou
depois de t-las prontas. Este espao nada mais do que um portal onde muitas informaes tcnicas e dicas esto
concentradas. A sua base de informaes constantemente atualizada e tem uma linguagem simples que visa o
rpido entendimento de quem est utilizando. Para acessar a pgina inicial do KB, utilize o endereo kb.elipse.com.br,
conforme mostra a figura a seguir.

Pgina inicial do KB

2.1 Elipse Knowledgebase


No cabealho da pgina existem as seguintes opes:

Glossrio: Permite acessar todo o glossrio de palavras que a ferramenta possui

Favoritos: Link que mostra todos os artigos da base de dados que esto assinalados como favoritos

Login: Serve apenas para uso interno da Elipse Software

Elipse Knowledgebase 2
2.2 Busca no Knowledgebase
Este campo busca em toda a base de dados pela palavra ou palavras que o usurio digitar, retornando todos os
artigos que possuem a palavra alvo da busca. Basta digitar a palavra que se deseja buscar e ento clicar em Busca.

Busca no KB

Ainda existe a possibilidade de utilizar a Busca Avanada, que permite refinar a consulta. Para isto, clique em Busca
Avanada.

Busca Avanada

Na opo Busca Avanada o usurio pode digitar a palavra ou palavras que deseja buscar, filtrar por categoria
especfica, por autor e ainda pela classificao do artigo. Isto , se ele ajudou muito, apenas ajudou, ajudou pouco ou
no ajudou.

3 Elipse Knowledgebase
2.3 Categorias
Existe a possibilidade de o usurio acessar todos os artigos escolhendo diretamente a categoria a que ele pertence.
Para isto, no campo Categorias, selecione a categoria que deseja buscar os artigos e clique em Ir.

Escolha de categorias

Todos os artigos da categoria selecionada so retornados como resultado da busca. importante ressaltar que toda
a base de conhecimento est dividida em duas categorias principais: Ingls e Portugus. Dentro destas categorias
existem vrias sub-categorias, cada uma delas tratando de um tema especfico. Acessando os artigos pela categoria
Portugus - Elipse E3, por exemplo, tem-se a tela da figura a seguir.

Categorias em portugus

Note que dentro de cada uma destas sub-categorias aparece um nmero. Este nmero indica a quantidade de artigos
existentes dentro da categoria.

As demais sees existentes na pgina principal do Knowledgebase so:

Artigos Em Destaque: Mostra todos os artigos que esto classificados para aparecerem em destaque.
Normalmente esta seo utilizada para ressaltar algum artigo que merece uma ateno especial por parte
dos usurios dos softwares da Elipse Software

Artigos Mais Lidos: Mostra a lista dos 10 artigos mais lidos no Knowledgebase

ltimos Artigos Adicionados: Mostra a lista dos ltimos 10 artigos que foram adicionados na base de dados
do Knowledgebase

Buscas Mais Utilizadas: Mostra as 10 palavras que mais foram utilizadas como busca pela ferramenta de busca
do Knowledgebase

Elipse Knowledgebase 4
CAPTULO
Referncias aos Objetos
3
Objetos so componentes de software reutilizveis, que permitem maximizar o uso e aumentar a qualidade e
produtividade em aplicativos.

Um objeto no E3 encapsula ou contm trs diferentes partes (Propriedades, Mtodos e Eventos) que podem ser
manipuladas para a utilizao das vantagens de sua funcionalidade na aplicao.

Propriedades definem atributos de um objeto, como sua aparncia na Tela ou seu valor inicial quando o aplicativo
iniciado.

Mtodos so funes que realizam uma ao especfica em ou com um objeto.

Eventos so notificaes geradas por um objeto em resposta a alguma ocorrncia em particular, como um clique de
mouse ou uma mudana no valor de um Tag, entre outras.

Uma das caractersticas mais importantes ao se trabalhar com scripts no E3 considerar a separao existente entre
os processos que so executados no Servidor e aqueles executados na interface do Cliente (Viewer).

3.1 Application
A palavra Application representa o contexto atual do objeto e pode indicar tanto funes que so executadas no
Viewer quanto no Servidor. Neste caso, o objeto Application sabe de antemo quais funes devem ser executadas
tanto para um quanto para o outro caso. No possvel, entretanto, executar mtodos de Viewer dentro do Servidor,
assim como tambm no possvel executar mtodos de Servidor dentro do Viewer. Exemplo:

Application.ChangePassword: Mtodo do Viewer que permite alterar a senha do usurio atual

Application.Trace(mensagem): Mtodo do Servidor que escreve uma mensagem em um arquivo texto

3.2 Objetos do Servidor


Para se acessar um objeto que est sendo executado no Servidor a partir de um Objeto de Tela ou um ElipseX, deve-
se usar o mtodo Application.GetObject. Exemplo:

Objetos de Servidor

Application.GetObject("Dados.TagInterno1"): Tag Interno do Servidor de Dados

Application.GetObject("BancoDados"): Banco de Dados

5 Referncias aos Objetos


3.3 Mtodo Item
O mtodo Item retorna a referncia para o objeto filho do objeto que o chamou. Este mtodo pode buscar um
objeto tanto pelo nome quanto pelo ndice (inteiro). Se o ndice ou o nome especificado for vlido, o mtodo Item
retorna a referncia ao objeto. Caso contrrio, o mtodo retorna um erro de parmetro invlido. Exemplo:

Objeto E3Browser

Screen.Item("E3Browser1"): Objeto E3Browser que est dentro da Tela

Screen.Item("E3Browser1").Item("Consulta1"):Objeto Consulta que est dentro do E3Browser

3.4 Comando Set


O VBScript implementa o conceito das linguagens orientadas a objeto, permitindo que uma varivel do tipo Variant
assuma a forma de um objeto qualquer, atravs do comando Set. Deste modo, a varivel funciona como um ponteiro
para o objeto desejado, permitindo acessar seus mtodos e propriedades. Exemplo:
Set retangulo = Screen.Item("Retangulo1")
retangulo.BackgroudColor = RGB(255, 0, 0)
'Sem o comando Set, a mesma chamada teria que ser
Screen.Item("Retangulo1").BackgroundColor = RGB(255, 0, 0)

Aparentemente, no existe vantagem neste caso, pois pode-se executar a mesma tarefa em uma nica linha de
cdigo. Porm, se logo a seguir, no mesmo script, outras operaes forem necessrias, o processo se torna mais
simples e rpido se a chamada ao mtodo Item no for colocada em todas as linhas.
'Exemplo ruim
Screen.Item("Retangulo1").BackgroundColor= RGB(212, 208, 20)
Screen.Item("Retangulo1").Height = 500
Screen.Item("Retangulo1").Width = 500
'Exemplo melhor
Set Retangulo = Screen.Item("Retangulo1")
Retangulo.BackgroundColor = RGB(212, 208, 20)
Retangulo.Height = 500
Retangulo.Width = 500

3.5 Eventos
Eventos so notificaes geradas por um objeto em resposta a alguma ocorrncia em particular, como um clique de
mouse ou uma mudana no valor de um Tag, entre outras. Alguns exemplos de eventos esto listados nos tpicos a
seguir.

Referncias aos Objetos 6


3.5.1 KeyDown
KeyDown(KeyCode, Shift)

Ocorre no momento em que uma tecla pressionada, independente do foco na Tela. Os parmetros deste evento
esto descritos na tabela a seguir.

Parmetros disponveis no evento KeyDown

NOME DESCRIO
KeyCode Nmero inteiro que identifica o caractere ASCII da tecla
que foi pressionada

Shift Mostra a tecla pressionada juntamente com o boto do


mouse:

4: Tecla SHIFT

8: Tecla CTRL

12: Teclas CTRL + SHIFT

Exemplo:
Sub TelaInicial_KeyDown(KeyCode, Shift)
' Mostra uma caixa de mensagem quando
' o usurio pressiona uma tecla
MsgBox "Cdigo da tecla: " & KeyCode
End Sub

3.5.2 MouseDown
MouseDown(Button, ShiftState, MouseX, MouseY)

Ocorre quando se pressiona qualquer boto do mouse sobre a Tela. Utilize o evento MouseDown para determinar
aes especficas quando a Tela for clicada pelo usurio. Os parmetros deste evento esto descritos na tabela a
seguir.

Parmetros disponveis no evento MouseDown

NOME DESCRIO
Button Mostra o boto do mouse pressionado:

1: O boto do mouse pressionado o esquerdo

2: O boto do mouse pressionado o direito

4: O boto do mouse pressionado o do meio

ShiftState Mostra a tecla pressionada juntamente com o boto do


mouse:

4: Tecla SHIFT

8: Tecla CTRL

12: Teclas CTRL + SHIFT

MouseX Mostra a coordenada X onde o boto do mouse foi


clicado na Tela

7 Referncias aos Objetos


NOME DESCRIO
MouseY Mostra a coordenada Y onde o boto do mouse foi
clicado na Tela

Exemplo:
Sub TelaInicial_MouseDown(Button, ShiftState, MouseX, MouseY)
' Mostra uma caixa de mensagem
' com as coordenadas do ponteiro do mouse
MsgBox "Coordenada X: " & MouseX & _
vbNewLine & "Coordenada Y: " & MouseY
End Sub

3.6 Exerccios
1. Qual das alternativas a seguir o modo correto de se referenciar o objeto Consulta1?

Objeto Consulta

a. ( ) Screen.Item("Consulta1")

b. ( ) Item("TelaInicial").Item("Consulta1")

c. ( ) Screen.Item("E3Browser1").Item("Consulta1")

d. ( ) Item("E3Browser1").Item("Consulta1")

2. Para sair da aplicao ao pressionar a tecla ESC, crie um script no evento KeyDown da TelaInicial.
'ESC: Sair da aplicao
If KeyCode = 27 Then
Application.Exit()
End If

Referncias aos Objetos 8


CAPTULO
Usurios
4
Atravs desta opo possvel controlar o acesso s Telas, Alarmes, Domnios e ao Viewer em uma lista de usurios e
grupos. Conforme a opo configurada, a aplicao permite ou no o acesso aos usurios cadastrados.

As permisses de acesso so configuradas por usurio ou por grupos de usurios. Os grupos podem ser criados
contendo apenas usurios ou tambm outros grupos.

4.1 Login
Login(Mode)

Este mtodo abre uma caixa de dilogo para o login (autenticao de usurio) na aplicao. O usurio logado
permanece na memria at que seja feito outro login ou logout (sada do usurio da aplicao). Este mtodo possui o
parmetro Mode, um Booleano que determina se uma mensagem de confirmao ou de falha da operao deve ser
mostrada (o padro Falso).

Tela de login

9 Usurios
4.2 Administrao de Usurios
Apenas o Administrador pode ter acesso ao mtodo UserAdministration. A caixa de dilogo para configurao dos
usurios acessvel somente ao usurio habilitado como Administrador.

Administrao de usurios

UserAdministration()

Este mtodo abre uma caixa de dilogo que permite editar a lista de usurios do E3 Server. As funes disponveis
so as seguintes:

Mostrar a lista de todos os usurios

Apagar usurios (no possvel apagar o usurio atual)

Adicionar e editar usurios

Editar as configuraes de um usurio

Alterar a senha do usurio

Alterar os demais dados do usurio (login, nome, etc.)

Usurios 10
Aba Usurios

4.3 Confirmao de Senha


Para confirmar a senha do usurio logado na aplicao, utilize o mtodo PasswordConfirm.

PasswordConfirm(Mode)

Este mtodo abre uma caixa de dilogo solicitando a confirmao da senha do usurio atualmente logado. O mtodo
retorna Verdadeiro se a senha for confirmada ou Falso caso contrrio. O parmetro Booleano Mode determina se
deve ser executado um logout em caso de falha na confirmao (Verdadeiro) ou no (Falso).

Se a caixa de dilogo for fechada ao clicar em Cancelar, o mtodo retorna Falso. Caso no haja usurio logado, o
mtodo retorna Falso, mas sem abrir a caixa de dilogo. Caso a senha digitada no esteja correta, a solicitao
repetida at no mximo trs vezes. Se o usurio digitar a senha incorreta nestas trs vezes, a caixa de dilogo
fechada e o mtodo retorna Falso.

Confirmao de senha

11 Usurios
4.4 Bloqueio de Senha
A conta de um usurio pode ser bloqueada nas seguintes condies:

Se a senha expirar (o tempo de expirao pode ser atributo global, de grupo ou de usurio)

Se o usurio digitar a senha errada um determinado nmero de vezes seguidas, isto , ocorrer uma falha de login

Uma vez bloqueada, a conta no permite login. Esta condio persiste at que um administrador desbloqueie a senha
manualmente ou ento o time-out de bloqueio expire.

4.5 Exerccios
4.5.1 Usurios
1. No menu Arquivo, selecione a opo Usurios.

2. Selecione a aba Grupos e crie dois grupos de usurios, chamados "Manuteno" e "Operador".

3. Atravs da aba Usurio, crie dois usurios. Configure um como pertencente ao grupo Manuteno e outro ao
grupo Operador.

4.5.2 Login
1. Insira o texto "Usurio" e ao lado um Display para exibir o nome do usurio logado.

2. No Display, crie uma Associao entre a propriedade Value e a propriedade User do Viewer.

3. Insira um boto com o texto "Login" na TelaInicial e crie o script a seguir.


'Login
Application.Login(True)

4.5.3 Administrao de Usurios


1. Ao lado do boto de login, insira um boto com o texto "Adm".

2. Neste boto, insira o script a seguir.


'Administrao de usurios
Application.UserAdministration()

Usurios 12
4.5.4 Opes de Segurana
1. Clique com o boto direito do mouse no cone do E3, na rea de Notificaes do Windows, e selecione o item
Domnio - Opes.

Opes do Domnio

2. Na aba Segurana, configure as opes conforme a figura a seguir.

Polticas de segurana

NOTA
Configuraes de segurana no so aplicadas aos usurios j existentes, apenas na alterao ou na criao de um
usurio.

13 Usurios
4.5.5 Confirmao de Senha
A cada 10 minutos, o usurio deve confirmar a sua senha.

1. Insira no Viewer um Tag Contador com o nome de "ConfirmarSenha".

2. Configure as seguintes propriedades do Tag Contador:

AutoRestart: True

CounterType: 0 - Preset

Preset: 600

3. No evento OnPreset do Tag Contador, insira o script a seguir.


'Confirmar senha
If Parent.PasswordConfirm(True) = False Then
'Sair do Viewer
Parent.Exit()
End If

4. Execute a aplicao e teste a nova funcionalidade.

Usurios 14
4.5.6 Logout por Inatividade
1. Abra a janela de propriedades do Viewer e, na aba Visualizador, configure para verificar a inatividade aps cinco
minutos e duas retentativas de login.

Janela de propriedades do Viewer

2. No evento OnInactive do Viewer, crie o script a seguir.


Logout(False)
MsgBox "Sesso encerrada por inatividade."

15 Usurios
CAPTULO
Bibliotecas
5
O E3 fornece uma ferramenta de bibliotecas do usurio chamada de ElipseX. O uso de bibliotecas no E3 altamente
recomendvel na maioria dos casos, devido ao ganho de produtividade que trazem s aplicaes. Algumas das
vantagens dos ElipseX:

Reutilizao de cdigo

Minimizao de testes durante o desenvolvimento

Criao de interfaces padro para os objetos desenvolvidos

Diminuio do tempo de desenvolvimento de novos projetos

Proteo do contedo do projeto

Hierarquizao de objetos

Bibliotecas 16
5.1 XControl
Um XControl define uma interface grfica com o usurio, que pode ser composta de quaisquer objetos do E3 e tem
o propsito de ser multiplicada facilmente pelo projeto.

Aba Design de um XControl

Aba Propriedades de um XControl

A edio do objeto grfico pode ser realizada da mesma forma como realizada a edio de uma Tela, possuindo os
mesmos recursos grficos e opes. Pode-se inserir XControls em qualquer Tela, ou ainda dentro de outro XControl.

NOTA
Se o tamanho deste objeto for alterado na aba Design do Editor da Biblioteca e registrado novamente, necessrio
selecionar a opo Tamanho Original no menu contextual da Tela para que a alterao seja visvel.

5.2 XFolder
Um XFolder um objeto do servidor que permite organizar ou criar uma hierarquia de objetos nas instncias criadas.
Os objetos que podem ser inseridos em uma instncia de XFolder so Pastas de Dados, Tags de Comunicao,
Consultas, Filtros de Alarmes, instncias de XFolders e XObjects e Alarmes.

NOTA
No permitido inserir objetos na definio de um XFolder, somente em suas instncias.

17 Bibliotecas
5.3 XObject
Alm dos XControls e XFolders, pode-se criar uma biblioteca de dados, denominada XObject. Com esta biblioteca,
pode-se definir uma estrutura de dados que executada no Servidor. Tal estrutura pode realizar clculos,
Associaes, comunicaes, verificao de alarmes ou registro histrico, entre outras tarefas, independente de haver
alguma interface grfica (Viewer) aberta ou em execuo naquele momento.

Aba Propriedades de um XObject

Podem ser inseridos em um XObject quaisquer mdulos do E3 que sejam executados no Servidor, a saber:

Driver de Comunicao e Driver de Comunicao OPC

Servidor de Alarmes e Alarmes

Frmulas

Servidor de Dados

Histricos

Isto permite que se possa definir como uma biblioteca um sistema complexo de gerenciamento, que pode ser
facilmente replicado quantas vezes forem necessrias em um aplicativo.

IMPORTANTE
Veja que XControls, XFolders e XObjects s podem se relacionar com o mundo externo atravs das propriedades
(ou ainda atravs do ponteiro do mouse e teclado, no caso dos XControls). Isto significa que no se pode acessar
dados internos de um XControl, XFolder ou XObject, exceto de dentro do prprio objeto.

5.4 Exerccios
Nestes exerccios, vamos trabalhar com a estrutura XObject-XControl e criar um terceiro objeto de biblioteca, o
XControl "ConfigBomba", para a Tela indexada.

1. Crie um novo projeto e, atravs do Assistente de Aplicaes, selecione a opo Biblioteca de componentes do
E3. Nomeie a biblioteca como "LibQuimica". Avance, adicione-a ao Domnio ativo e conclua.

Bibliotecas 18
5.4.1 DadosBomba
Esse XObject tem as propriedades Ligado, Velocidade (baixa, mdia e alta) e Rotao. A propriedade Ligado habilita
ou no a propriedade Rotao, que varia entre 0 (zero) e 100 conforme a propriedade Velocidade.

1. Insira um novo XObject na biblioteca, nomeando-o como "DadosBomba". Insira trs propriedades e configure-as
conforme a figura a seguir.

XObject DadosBomba

2. Para simular a rotao, insira um Servidor de Dados no XObject chamado "Dados".

3. Na pasta Dados, insira um Tag Demo com o nome de "Rotacao" com o tipo Rampa de Descida (5 - RampDown)
e Scan de 200 ms.

4. O valor da rotao deve estar acessvel atravs da propriedade do XObject. Crie uma Associao Reversa na
propriedade Value do Tag Demo com a propriedade Rotacao do objeto DadosBomba.

5. A rotao s deve estar habilitada se a bomba estiver ligada. No Tag Rotacao, crie uma Associao Simples na
propriedade Enabled com a propriedade Ligado do objeto DadosBomba.

6. A velocidade de um Tag Demo est associada ao seu perodo. Crie uma Associao por Tabela na propriedade
Period do Tag Rotacao com a propriedade Velocidade do objeto DadosBomba.

Associao por Tabela

7. Salve o objeto e registre a biblioteca.

19 Bibliotecas
5.4.2 Bomba
O XControl Bomba simula um movimento de rotao, conforme as configuraes do XObject DadosBomba. A
imagem da bomba na Tela pode estar na horizontal ou na vertical, sendo necessria uma lgica para escolher onde
exibir o nome do objeto.

1. Insira um novo XControl na biblioteca, com o nome "Bomba".

2. Desenhe a bomba conforme o modelo da figura a seguir. O desenho da bomba pode ser encontrado na Galeria
(Pumps).

Bomba

3. Na aba Propriedades, crie as propriedades mostradas na figura a seguir.

Aba Propriedades

4. Clique com o boto direito do mouse na figura e selecione as opes Converter para smbolo, Explodir smbolo
e Desagrupar.

5. Selecione as imagens do centro, que simulam a rotao da bomba, e agrupe-as.

6. Insira uma Animao por Rotao e simule o movimento do incio ao fim. Verifique se a propriedade
RotationAngle est em 359, e as propriedades Enabled e EnabledSlider em Falso.

Rotao da bomba

7. Crie uma Associao na propriedade Value na Animao com a propriedade Rotacao do objeto DadosBomba.

Bibliotecas 20
Associao com a propriedade Value

NOTA
O valor da Animao varia no intervalo das propriedades RangeMin e RangeMax (padro entre 0 e 100) e o Tag
associado Animao deve estar na mesma escala, ou deve-se utilizar uma Associao Analgica para a converso.

8. Os Textos devem mostrar o nome do objeto DadosBomba associado. Na propriedade Value dos Textos, crie
uma Associao Simples com a propriedade Name de DadosBomba.

Associao com a propriedade Value

9. O Texto com o nome da bomba pode aparecer em cima ou embaixo da figura, dependendo da posio do
objeto na Tela. Crie uma Associao na propriedade Visible do Texto de baixo com a propriedade Embaixo do
objeto Bomba.

10. Para o Texto de cima, crie uma Associao na propriedade Visible do com a expresso "NOT Bomba.Embaixo".

21 Bibliotecas
Associao com a propriedade Visible

11. Salve as modificaes e registre a biblioteca.

5.4.3 Tela
1. Sobre cada imagem de bomba na Tela, insira um XControl do tipo Bomba. Para as bombas na vertical, altere a
propriedade Angle para 90. Ajuste a propriedade Embaixo conforme desejar.

5.4.4 Dados
Para facilitar futuras lgicas, vamos separar os XObjects DadosBomba em uma pasta chamada Bombas.

1. No Servidor de Dados, pasta Dados, insira uma Pasta de Dados chamada "Bombas".

2. Para cada bomba na Tela, insira na pasta Bombas um XObject DadosBomba. Configure as propriedades Name e
DocString.

3. Associe o XControl Bomba da Tela com o XObject criado.

Associao com a propriedade DadosBomba

4. Configure as propriedades Ligado e Velocidade das bombas e verifique a funcionalidade.

Bibliotecas 22
5.4.5 ConfigBomba
Para alterar as propriedades da bomba, vamos criar um XControl que vai ser utilizado como Tela indexada. Usaremos
os objetos MSForms Boto de Opo (Option Button) e Lista de Seleo (Combo Box).

1. Insira um XControl chamado "ConfigBomba".

2. Configure-o conforme a figura a seguir. So utilizados trs Textos ("Nome", "Descricao" e "Velocidade"), dois
Botes de Opo ("Ligado" e "Desligado") e uma Lista de Seleo.

XControl ConfigBomba

3. Crie a propriedade mostrada na figura a seguir.

Propriedade DadosBomba

4. No Texto Nome, crie uma Associao Simples na propriedade Value com a propriedade Name do objeto
DadosBomba.

5. No Texto Descricao, crie uma Associao Simples na propriedade Value com a propriedade DocString do
objeto DadosBomba.

6. No Boto de Opo Ligado, crie uma Associao Bidirecional na propriedade Value com a propriedade Ligado
do objeto DadosBomba.

7. No Boto de Opo Desligado, crie uma Associao Simples na propriedade Value com a propriedade Ligado
do objeto DadosBomba, acrescentando o comando NOT para inverter o valor lido.

23 Bibliotecas
Boto de Opo Desligado

8. Para que a Lista de Seleo inicie preenchida, crie o script a seguir no evento OnStartRunning.
Clear()
AddItem "Alta"
AddItem "Mdia"
AddItem "Baixa"

NOTA
Para no inserir itens repetidos na Lista de Seleo (Combo Box), uma das opes sempre apagar os registros
existentes antes de inserir novos.

9. Na Lista de Seleo, crie uma Associao Bidirecional na propriedade ListIndex com a propriedade Velocidade
do objeto DadosBomba.

10. Salve as modificaes e registre a biblioteca.

11. Crie uma Tela chamada "TelaConfigBomba", com o tamanho de 300 por 300 pixels.

12. Insira o XControl ConfigBomba nesta Tela.

5.4.6 Tela Indexada


muito comum termos Telas que se repetem na aplicao. Ao invs de criar vrias Telas, vamos criar apenas uma e
configurar de onde buscar os dados. Para este tipo de Tela usamos o nome de Tela Indexada.

1. Para abrir a tela de configurao ao clicar em uma bomba, no XControl Bomba agrupe as figuras e insira o
seguinte script no evento Click do grupo.
Arg = Bomba.DadosBomba.PathName
Application.DoModal "TelaConfigBomba", "", 0, 0, , , Arg, 1 + 2 + 64 + 2048

2. O mtodo DoModal possui o parmetro Arg, que neste exerccio contm o nome da bomba da qual desejamos
visualizar as informaes. Este parmetro deve ser passado ao XControl inserido na Tela. No evento OnPreShow
da Tela, crie o script a seguir.
Item("ConfigBomba1").DadosBomba = Arg

3. Salve a aplicao e teste a nova funcionalidade.

Bibliotecas 24
CAPTULO
Layer
6
A propriedade Layer de uma Tela define em quais camadas um objeto deve aparecer. O valor representa uma
mscara de 32 bits, um bit para cada camada. Portanto, podem ser definidas at 32 camadas individuais. Assim,
objetos podem ser agrupados logicamente e mostrados ou escondidos apenas modificando a mscara da
propriedade Layer.

Opes disponveis para a propriedade Layer

BIT2 BIT1 BIT0 LAYER DESCRIO


0 0 0 0 Exibe todos os
objetos

0 0 1 1 Exibe objetos cuja


propriedade Layer
esteja configurada
como 1

0 1 0 2 Exibe objetos cuja


propriedade Layer
esteja configurada
como 2

0 1 1 3 Exibe objetos cuja


propriedade Layer
esteja configurada
como 1, 2 ou 3

1 0 0 4 Exibe objetos cuja


propriedade Layer
esteja configurada
como 4

1 0 1 5 Exibe objetos cuja


propriedade Layer
esteja configurada
como 1, 4 ou 5

1 1 0 6 Exibe objetos cuja


propriedade Layer
esteja configurada
como 2, 4 ou 6

1 1 1 7 Exibe objetos cuja


propriedade Layer
esteja configurada
como 1, 2, 3, 4, 5, 6
ou 7

25 Layer
6.1 Exerccios
1. No objeto Bomba, altere a propriedade Layer dos Textos que exibem o nome do objeto para 2 (dois).

2. Salve a biblioteca e registre-a.

3. Na TelaInicial, insira uma Caixa de Seleo com o texto "Identificao". Altere o nome do objeto para "ckLayer".

4. Na janela de propriedades da TelaInicial, aba Associaes, crie uma Associao Digital na propriedade Layer da
Tela com a propriedade Value do objeto ckLayer. Configure o campo Ligado para 3 (propriedade Layer ligada)
e o campo Desligado para 1 (propriedade Layer desligada).

Associao Digital

Layer 26
CAPTULO
Adicionando Objetos em Tempo de Execuo
7
Em algumas situaes, uma aplicao no tem uma estrutura fixa, precisando criar os objetos que deseja em tempo
de execuo. Por exemplo, uma aplicao que deve ler uma lista de equipamentos em um banco de dados e
estabelecer uma comunicao com estes equipamentos. Alm disto, estes equipamentos variam com o tempo, junto
com suas propriedades.

Se os objetos inseridos em tempo de execuo so objetos do servidor (Tags, Drivers, Histricos, Alarmes, etc.), as
modificaes podem ser salvas atravs do comando Save. Objetos de visualizao (Telas ou Relatrios, por exemplo)
no podem ser salvos.

7.1 Adicionar Objeto


AddObject(ClassName, Activate, ObjectName)

Este mtodo adiciona um novo objeto aplicao. Os parmetros deste mtodo esto descritos na tabela a seguir.

Parmetros disponveis no mtodo AddObject

NOME DESCRIO
ClassName Tipo de objeto a ser criado

Activate Indica se o objeto ativado aps sua criao

ObjectName Nome do objeto

Enquanto o objeto estiver ativo, as Associaes e os scripts permanecem habilitados. Exemplo:


Set retangulo = Screen.AddObject("DrawRect", True)
retangulo.X = 200
retangulo.Y = 200
retangulo.ForegroundColor = vbRed

Se o objeto for criado com o parmetro Activate em Falso, mais tarde ele pode ser ativado pelo mtodo Activate.

O tipo do objeto pode ser visualizado na barra de ttulo da Lista de Propriedades.

27 Adicionando Objetos em Tempo de Execuo


Objeto Retngulo (DrawRect)

Objeto Tag Interno (InternalTag)

Adicionando Objetos em Tempo de Execuo 28


7.2 Evento CustomConfig
O evento CustomConfig um recurso presente a partir da verso 3.2 do Elipse E3. Permite criar assistentes de
configurao das instncias de um objeto ElipseX dentro do Studio.

Uma opo de configurao aparece no menu contextual das instncias de objetos ElipseX, sempre que existir um
script associado ao evento CustomConfig da definio do objeto ElipseX. Quando a opo selecionada no menu, o
evento disparado.

O texto que aparece na opo do menu pode ser informado na propriedade CustomConfigText da definio do
objeto ElipseX. Se esta propriedade estiver em branco, aparece o texto "Configurar", conforme mostra a figura a
seguir.

Configurando um XControl

NOTA
O script associado ao evento CustomConfig executa no Studio, onde os objetos no esto ativos. Portanto, o
comportamento diferente do usual.

7.3 Exerccios
Neste exerccio usado o evento CustomConfig do XControl Bomba para criar o XObject e associ-lo bomba
automaticamente, facilitando a configurao.

29 Adicionando Objetos em Tempo de Execuo


7.3.1 CustomConfig
1. No XControl Bomba, selecione o evento CustomConfig e insira o script a seguir.
'Nome da bomba
Nome = InputBox("Digite o nome da Bomba:")
If Nome = "" Then Exit Sub

'Cria objeto DadosBomba


Set obj = Application.GetObject("Dados.Bombas")._
AddObject("DadosBomba", True, Nome)
obj.DocString = InputBox("Digite uma descrio para a Bomba:")

'Associa o XControl ao XObject


DadosBomba = obj.PathName

2. Salve as modificaes e registre a biblioteca.

3. Na Tela, clique com o boto direito do mouse em uma bomba e selecione a opo Configurar.

Adicionando Objetos em Tempo de Execuo 30


CAPTULO
Arrays
8
Em certas situaes conveniente atribuir mais de um valor relacionado a uma nica varivel. Para isto, pode-se criar
uma varivel que contm uma srie de valores, uma varivel do tipo Array ou Vetor.

Para declarar uma varivel explicitamente, utiliza-se o comando Dim. A declarao de um array utiliza parnteses
contendo sua dimenso. Exemplo:
Dim A(10)

Pode-se atribuir dados a cada um dos elementos de um array usando-se um ndice comeando em 0 (zero) e
terminando no tamanho declarado (o nmero de elementos de um array sempre o nmero mostrado nos
parnteses mais um). Exemplo:
A(0) = 256
A(1) = 324
A(2) = 100
...
A(10) = 55

Tambm possvel criar um array utilizando o mtodo Array(arglist) do VBScript. Este comando retorna uma varivel
do tipo Variant que contm um array. Os valores devem ser separados por vrgulas. Exemplo:
A = Array(10, 20, 30)
MsgBox A(0)
MsgBox A(1)
MsgBox A(2)

8.1 Exerccios
Neste exerccio, vamos programar a opo de copiar as configuraes de uma bomba e pass-las para as demais
bombas usando o boto direito do mouse.

1. Crie um Tag Interno no Viewer chamado "CopiarBomba".

2. No XControl Bomba, selecione o grupo com a imagem da bomba e insira o script a seguir no evento
MouseDown.
If Button = 2 Then 'Clique com o boto direito do mouse
If TypeName(Application.Item("CopiarBomba").Value) = "Empty" Then
Menu = "Copiar"
Else
Menu = "Copiar|Colar"
End If

opcao = Application.SelectMenu(Menu)
If opcao = 1 Then 'Copiar
'Salva as informaes no Tag do Viewer
Dim arr(2)
arr(1) = Bomba.DadosBomba.Ligado
arr(2) = Bomba.DadosBomba.Velocidade
Application.Item("CopiarBomba").Value = arr
ElseIf opcao = 2 Then 'Colar
'Passa as informaes do Tag do Viewer para DadosBomba
arr = Application.Item("CopiarBomba").Value
Bomba.DadosBomba.Ligado = arr(1)
Bomba.DadosBomba.Velocidade = arr(2)
End If
End If

3. Salve as modificaes e registre a biblioteca.

4. Execute a aplicao e teste a nova funcionalidade.

31 Arrays
CAPTULO
IOKit
9
O IOKit um componente compartilhado utilizado pelos Drivers de Comunicao da Elipse Software, implementando
o acesso padro do nvel fsico e proporcionando interfaces para Serial, Modem, Ethernet e RAS.

Atualmente o IOKit permite que apenas uma conexo seja aberta para cada Driver. Isto significa que, se for necessrio
o acesso a duas portas seriais, devem ser adicionados dois Drivers na aplicao e cada um deles configurado para
cada uma das portas seriais.

9.1 Trabalhando Offline


O modo Offline foi planejado para sistemas onde o Driver necessita ser configurado em tempo de execuo. Este o
caso quando simplesmente no se sabe o tipo de conexo ou os parmetros at que a aplicao esteja em execuo.
Em modo Offline, todos os Tags de Comunicao do Driver falham (todas as escritas e leituras). Os nicos Tags
permitidos so os Tags gerais do IOKit (N1/B1 = -1 e N2/B2 = 0). Embora seja possvel chavear o Driver entre os
modos Online e Offline em tempo de execuo, geralmente os seguintes passos so necessrios:

1. Configure a opo Start driver Offline na janela de propriedades Extras do Driver. Esta opo permite que o
Driver inicie no estado Offline.

2. Configure os parmetros do Driver em um script da aplicao. O script pode ser executado automaticamente ou
de acordo com uma solicitao do usurio.

3. Configure o Driver para o modo Online.

9.2 Exerccios
O Driver de Comunicao vai ser inserido em um XObject e recebe as informaes de endereo IP, Porta e Address (ID)
do equipamento ao iniciar a aplicao.

IOKit 32
9.2.1 DadosTanque
1. Insira um novo XObject na biblioteca, nomeando-o como "DadosTanque". Configure as propriedades conforme a
figura a seguir.

XObject DadosTanque

2. Insira um objeto Driver de Comunicao no XObject DadosTanque.

3. Configure este Driver para comunicar com o Simulador.

Physical Layer: Ethernet

IP: 127.0.0.1

Porta: 502

Use Default Slave Address: True

4. Insira um Tag de Comunicao e configure-o para ler o endereo 1 (um):

N1: 0

N2: 1

N3: 0

N4: 1

5. Como o Simulador Modbus da Elipse Software tem variao de valores entre 0 (zero) e 65535, e a variao usada
na aplicao deve estar entre 0 (zero) e 100, habilite a escala no Tag, conforme a figura a seguir.

Tag de Comunicao

6. Teste a conexo.

7. Para passar as configuraes do equipamento para o Driver, no evento AfterStart do Driver insira o script a
seguir.

33 IOKit
'Parametros de configurao
Dim arr(2)
arr(1) = Array("IO.Ethernet.MainIP", Parent.IP)
arr(2) = Array("IO.Ethernet.MainPort", Parent.Porta)
Item("Nivel").N1 = Parent.Address

Write -1, 0, 0, 3, arr

'Online
Write -1, 0, 0, 4, 1

8. Na aba Setup, selecione a opo Start driver OFFLINE.

9. Deseja-se acessar todas as propriedades do Tag Nivel na aplicao. Para isto, deve-se associar o Tag de
Comunicao propriedade do XObject do tipo IOTag. Arraste o Tag de Comunicao at o campo Valor inicial
da propriedade Nivel do objeto DadosTanque.

Valor inicial da propriedade Nivel

10. Salve a biblioteca e registre-a.

IOKit 34
9.2.2 Tanque
1. Insira um XControl na biblioteca com o nome de "Tanque".

2. Configure o objeto Tanque conforme o modelo da figura a seguir, com uma Escala, um Retngulo e um Display.

XControl
Tanque

3. Na aba Propriedades, crie a propriedade "DadosTanque", conforme a figura a seguir.

Propriedade DadosTanque

4. O Retngulo deve simular o lquido do tanque. Na propriedade VerticalPercentFill do Retngulo, crie uma
Associao Simples com a propriedade Nivel.Value do objeto DadosTanque.

Propriedade VerticalPercentFill

NOTA
Como a propriedade Nivel do tipo IOTag, deve-se criar a Associao com a propriedade Value da propriedade
Nivel.

5. Para visualizar o valor do nvel numericamente, feita a mesma Associao do item anterior na propriedade Value
do Display, "Tanque.DadosTanque.Nivel.Value".

35 IOKit
NOTA
Caso a formatao do Display seja Porcentagem, a Associao deve ser Analgica, pois esta formatao espera
valores entre 0 (zero) e 1 (um), e a varivel Nivel varia entre 0 (zero) e 100.

6. O Display deve deslizar acompanhando o nvel do preenchimento do Retngulo. Insira uma Associao por
Translao no Display. Associe a Animao com o valor do nvel, "Tanque.DadosTanque.Nivel.Value".

Associao por
Translao

7. Salve as modificaes e registre a biblioteca.

9.2.3 Tela
1. Sobre cada imagem de tanque na Tela, insira um XControl Tanque.

Tela

IOKit 36
9.2.4 Dados
1. Na pasta Dados, insira uma Pasta de Dados chamada "Tanques".

2. Para cada Tanque na Tela, insira na pasta Tanques um XObject DadosTanque. Configure os valores de IP, Porta
e Address.

3. Associe o XControl Tanque da Tela com o XObject criado.

XObject DadosTanque

4. Execute a aplicao e teste a nova funcionalidade.

37 IOKit
CAPTULO
Importao e Exportao
10
A ferramenta de importao de objetos do E3 tem como objetivo ler as informaes sobre os objetos de um arquivo
CSV e recri-los no ambiente de configurao (Studio). Para cada objeto, possvel obter informaes sobre
propriedades, Associaes e itens de colees.

A ferramenta de exportao de objetos do E3 tem como objetivo salvar informaes sobre os objetos selecionados
no ambiente de configurao (Studio) para um arquivo CSV. Para cada objeto, podem ser gravadas suas
propriedades, Associaes e seus itens de colees.

Qualquer objeto do E3 pode ser importado ou exportado. O objeto selecionado para a operao chamado de
objeto raiz. Alm dos objetos, as Associaes e as colees tambm podem ser importadas e exportadas.

NOTA
Os scripts NO so exportados, apenas objetos e Associaes. Para trabalhar com importao ou exportao
necessrio ter uma licena de Studio.

10.1 Arquivo CSV


Um arquivo CSV (Comma Separated Values) um arquivo texto baseado em colunas separadas por um caractere
separador previamente definido. Cada coluna do arquivo CSV representa uma ou mais propriedades de objetos do
E3. Cada linha do arquivo representa um objeto, Associao ou item de coleo. Para que estes arquivos sejam
utilizados corretamente, preciso observar alguns detalhes:

A primeira linha do arquivo CSV deve conter um cabealho que identifique as colunas corretamente

O cabealho deve ter obrigatoriamente uma coluna que identifica o tipo do objeto que est sendo importado
ou exportado. Esta coluna chama-se ObjectType

O cabealho das demais colunas deve ser o prprio nome da propriedade

As colunas podem ser colocadas em qualquer ordem no arquivo. Pode haver colunas a mais ou a menos, sem
prejuzo da operao de importao ou exportao. A nica coluna obrigatria ObjectType, porque sem ela
no possvel identificar o tipo de objeto que deve ser criado

Importao e Exportao 38
10.2 Gerenciador de Modelos
Modelos so arquivos INI utilizados para configurar a ferramenta de importao e exportao, informando, por
exemplo, qual o separador que deve ser utilizado no arquivo CSV e se as Associaes dos objetos devem ou no ser
exportadas, entre outras configuraes.

O Gerenciador de Modelos uma ferramenta que auxilia o usurio na criao de um arquivo INI para ser utilizado na
importao ou exportao de objetos do E3.

Na aba Configuraes possvel salvar um arquivo de modelo. Quando a opo Salvar as alteraes deste modelo
em um arquivo INI for selecionada, define-se o arquivo INI onde as alteraes do modelo so salvas, e este arquivo
pode ser reutilizado.

Aba Configuraes

Atravs da aba Propriedades, o usurio seleciona quais as propriedades dos objetos que deseja utilizar na
importao ou na exportao. O valor inicial da lista ObjectType. As demais propriedades devem ser adicionadas
manualmente pelo usurio.

39 Importao e Exportao
Aba Propriedades

Ao clicar em , a janela da figura a seguir aberta para a seleo de propriedades.

Adicionar propriedades

Importao e Exportao 40
As propriedades em negrito nesta lista j foram inseridas na lista que define as colunas do arquivo CSV. Clicar duas
vezes em uma propriedade faz com que ela seja adicionada ou removida, dependendo se ela j estava na lista ou
no.

As propriedades tambm podem ser agrupadas. Selecione as que deseja agrupar e clique em . Os nomes das
propriedades so agrupados em uma mesma linha, utilizando o nome da coluna definido para a propriedade que
est no topo da lista.

10.3 Exerccios
10.3.1 Exportao
1. Clique com o boto direito do mouse em um objeto Driver e selecione a opo Exportar.

Menu Exportar

41 Importao e Exportao
10.3.2 Importao
1. Clique com o boto direito do mouse no Driver e selecione a opo Importar.

2. Selecione o arquivo CSV criado no exerccio anterior.

3. Caso j exista o Tag que foi importado, aparece uma mensagem perguntando se este deve ser sobrescrito ou
ignorado.

Aviso de importao

4. Verifique se todos os Tags foram criados com sucesso.

Importao e Exportao 42
CAPTULO
Consulta
11
Neste captulo vamos abordar o objeto Consulta do E3 (Query), com foco na utilizao da edio direta do cdigo
SQL (Structured Query Language), isto , sem a utilizao do Assistente de Configurao de Consultas.

11.1 Criando e Acessando Variveis


Na janela de configurao da Consulta, na aba Campos, pode-se adicionar filtros diretamente nos campos. Estes
filtros podem ser constitudos de variveis que so definidas por script, utilizando o mtodo SetVariableValue da
Consulta. A forma de declarar as variveis depende do tipo de dados que elas representam:

<%Nome_da_Variavel%> se o valor numrico

'<%Nome_da_Variavel%>' se o valor uma String

#<%Nome_da_Variavel%># se o valor uma data

11.2 Edio Direta do Cdigo SQL


O objeto Consulta do E3, alm de criar o cdigo SQL automaticamente atravs de configurao, tambm permite que
o usurio defina diretamente a consulta desejada. Para isto, utilize a opo Habilita edio direta do SQL na aba
SQL.

Opo Habilita edio direta do SQL

11.3 Update
Utilizando o comando Update para editar campos da tabela, respeitando condies.
UPDATE Tabela1
SET Tabela1.Campo = '<%NovoValor%>'
WHERE Tabela1.Campo = '<%ValorAntigo%>'

43 Consulta
11.4 Delete
Utilizao do comando Delete na sintaxe SQL a seguir.
DELETE
FROM Tabela1
WHERE Tabela1.Campo = '<%Valor%>'

NOTA
Deve-se utilizar o mtodo Execute da Consulta ao utilizar um comando SQL que no tenha retorno, como Delete ou
Update. O parmetro ImmediateExecute indica se a operao passa pelas filas de operaes do Banco de Dados
(configurado como Falso) ou se enviada diretamente para o banco de dados (configurado como Verdadeiro).

11.5 Exerccios
Neste exerccio vamos implementar uma Tela para o cadastro de equipamentos da aplicao, informando o nome, IP,
porta e endereo do equipamento.

Consulta 44
11.5.1 Aplicao
1. Insira no projeto um novo Servidor de Dados, chamado "DadosHistorico".

2. Neste Servidor de Dados, insira quatro Tags Internos chamados "IP", "Porta", "Address" e "Nome".

Tags Internos

3. Insira um objeto Histrico com o nome "HistEquipamento" e crie os campos IP, Porta, Address e Nome,
configurando a coluna Fonte de cada campo com seus respectivos Tags Internos, criados no item anterior.

4. No permitido mais de um registro com o mesmo nome de equipamento, portanto selecione o campo Nome
como chave primria.

Objeto HistEquipamento

5. Abra a janela de propriedades do Histrico e configure-o para gravar os dados na tabela ConfigEquipamento
do Banco de Dados, gravando um registro novo a cada 0 (zero) ms.

45 Consulta
Propriedades do Histrico

6. Gere a estrutura da tabela.

Consulta 46
11.5.2 Tela

Tela de configurao dos equipamentos

1. Insira uma nova Tela no projeto, chamada "TelaConfigEquipamento", com o tamanho de 500 por 500 pixels.

2. Insira nesta Tela um objeto E3Browser.

3. Configure o E3Browser para exibir a tabela ConfigEquipamento e retornar os campos Nome, IP, Porta e Address
e ainda atualizar-se a cada 1000 ms.

4. Abaixo do E3Browser, insira quatro SetPoints para poder editar o nome, IP, porta e endereo do equipamento.
Identifique cada SetPoint com um Texto.

5. Para facilitar os scripts seguintes, renomeie os SetPoints para "spNome", "spIP", "spPorta" e "spAddress".

6. Crie uma Associao Bidirecional dos SetPoints com seus respectivos Tags em DadosHistorico.

7. Abaixo dos textos, insira trs Botes de Comando chamados "Inserir", "Atualizar" e "Remover".

8. Na TelaInicial, insira um boto para abrir a TelaConfigEquipamento.

47 Consulta
11.5.3 Inserir
Para inserir um registro no Histrico sem habilitar a gravao por scan, deve-se utilizar o mtodo WriteRecord do
prprio Histrico.

1. Ao clicar em Inserir, o objeto Histrico deve inserir uma linha na tabela. No evento Click do boto Inserir, crie o
script a seguir.
Application.GetObject("HistEquipamento").WriteRecord()

2. Execute a aplicao e cadastre os trs tanques existentes. Use o nome do XObject criado anteriormente.

11.5.4 Atualizar
Para atualizar um registro j existente na tabela, deve-se utilizar o comando Update. O registro que deve ser
modificado o registro selecionado. Para retornar o valor dos campos de um E3Browser, use o mtodo
GetColummValue.

1. Insira na Tela um objeto Consulta e nomeie-o como "ConsultaUpdate".

2. Na aba SQL, habilite a edio direta e altere o comando existente.


UPDATE ConfigEquipamento
SET IP = '<%IP%>', Porta = <%Porta%>, Address = <%Address%>
WHERE (Nome = '<%Nome%>')

3. Deseja-se atualizar a linha selecionada no E3Browser. Para retornar o valor de uma linha do E3Browser, crie o
script a seguir no evento DblClick.
Screen.Item("spNome").Value = GetColumnValue(0)
Screen.Item("spIP").Value = GetColumnValue(1)
Screen.Item("spPorta").Value = GetColumnValue(2)
Screen.Item("spAddress").Value = GetColumnValue(3)

4. No boto Atualizar, adicione o script a seguir.


'UPDATE
Screen.Item("ConsultaUPDATE").SetVariableValue _
"Nome", Screen.Item("spNome").Value
Screen.Item("ConsultaUPDATE").SetVariableValue _
"IP", Screen.Item("spIP").Value
Screen.Item("ConsultaUPDATE").SetVariableValue _
"Porta", Screen.Item("spPorta").Value
Screen.Item("ConsultaUPDATE").SetVariableValue _
"Address", Screen.Item("spAddress").Value
Screen.Item("ConsultaUPDATE").Execute(True)

5. Execute a aplicao e teste a nova funcionalidade.

Consulta 48
11.5.5 Apagar
Neste exerccio, vamos apagar o registro selecionado no E3Browser. Para remover um registro da tabela, use o
comando Delete.

1. Insira na Tela um objeto Consulta e nomeie-o como "ConsultaDelete".

2. Na aba SQL, edite o comando para o cdigo a seguir.


DELETE FROM ConfigEquipamento
WHERE (Nome = '<%Nome%>')

3. No boto Remover, insira o script a seguir.


'Nome do equipamento
Nome = Screen.Item("E3Browser1").GetColumnValue(0)
'Confirmao do usurio
If MsgBox("Tem certeza que deseja apagar o equipamento " & _
Nome & "?", vbYesNo) = vbYes Then
Screen.Item("ConsultaDELETE").SetVariableValue "Nome", Nome
Screen.Item("ConsultaDELETE").Execute(True)
End If

4. Execute a aplicao e teste a nova funcionalidade.

49 Consulta
CAPTULO
GetADORecordSet
12
O mtodo GetADORecordSet da Consulta retorna um Recordset do tipo ADO (ActiveX Data Object), resultante da
execuo da Consulta configurada.

O objeto ADORecordset usado para acessar os registros de uma tabela do banco de dados e possui as
propriedades e mtodos descritos nas tabelas a seguir.

Propriedades do objeto ADORecordset

NOME DESCRIO
BOF Retorna Verdadeiro se a posio do ponteiro anterior
ao primeiro registro

EOF Retorna Verdadeiro se a posio do ponteiro posterior


ao ltimo registro

RecordCount Retorna o nmero de registros na tabela

Mtodos do objeto ADORecordset

NOME DESCRIO
MoveFirst Move o ponteiro para o primeiro registro

MoveLast Move o ponteiro para o ltimo registro

MoveNext Move o ponteiro para o prximo registro

MovePrevious Move o ponteiro para o registro anterior

Para acessar registros individualmente, utilize o comando Fields("NomeCampo"). Exemplo:


Set RS = Screen.Item("Consulta1").GetADORecordset()
For i = 1 To RS.RecordCount
Campo1 = RS.Fields("Campo1").Value
Campo2 = RS.Fields("Campo2").Value
Campo3 = RS.Fields("Campo3").Value
MsgBox Campo1 & vbTab & Campo2 & vbTab & Campo3
Next

12.1 Exerccios
Ao iniciar a aplicao, cada Tanque deve ler do banco de dados suas configuraes de IP, Porta e Endereo.

GetADORecordSet 50
12.1.1 GetADORecordSet
1. No XObject DadosTanque, insira um Servidor de Dados e altere o nome para "Consultas".

2. Neste Servidor de Dados, insira um objeto Consulta (Query) com o nome de "ConsultaEquipamento".

Objeto Consulta

3. Configure a Consulta para acessar a tabela ConfigEquipamentos e retornar os campos Nome, IP, Porta e
Address.

4. No campo Nome, crie o filtro mostrado na figura a seguir.

Filtro para o campo Nome

5. No evento OnStartRunning da Consulta, insira o script a seguir.


'Nome do equipamento
SetVariableValue "Nome", DadosTanque.Name

'Resultado da consulta
Set RS = GetADORecordset()
DadosTanque.IP = RS.Fields("IP").Value
DadosTanque.Porta = RS.Fields("Porta").Value
DadosTanque.Address = RS.Fields("Address").Value

6. Execute a aplicao e teste a nova funcionalidade.

51 GetADORecordSet
DICA
possvel acompanhar o valor de informaes do Servidor atravs da janela WatchWindow.

GetADORecordSet 52
CAPTULO
Storage
13
O Storage um mdulo historiador do E3 desenvolvido para aperfeioar o uso de bancos de dados, permitindo que
uma determinada informao seja armazenada ocupando o menor espao possvel.

Existe todo um conjunto de funcionalidades especficas para este mdulo, como consultas pr-construdas e
algoritmos de compactao de dados, entre outros. Atravs desta ferramenta possvel recuperar com grande
exatido todas as mudanas nas variveis de processo, ocupando assim o mnimo de espao no banco de dados.

O uso do Storage fortemente recomendado para processos onde o objetivo do registro seja o acompanhamento
de tendncias que necessitem manter informaes essenciais ao processo. Atravs de um algoritmo matemtico
bastante difundido, o Storage pode fornecer informaes relevantes de um determinado processo ocupando menos
espao em disco do que os dados obtidos por um Histrico gravado periodicamente.

Em processos onde os dados devem ser precisos, como medies usadas para faturamento de insumos (gua,
energia ou gs), ou processos onde os dados devem ser integralizados em um perodo, recomenda-se a utilizao de
Histricos convencionais.

13.1 Funcionamento
A gravao no Storage feita da seguinte maneira:

Aps a definio da tabela, os dados so gravados de acordo com as configuraes. Se houver variao na
qualidade do Tag, os dados tambm so gravados

Os dados s no so gravados se a variao ocorreu em um tempo menor do que o mnimo programado

Conforme vo sendo obtidos novos valores para as variveis, um algoritmo de verificao de gravao interpreta a
sequncia e decide se cada ponto ou no armazenado.

Esta verificao, entretanto, s ocorre para os campos analgicos. Para os campos de texto e digitais, basta que haja
uma mudana qualquer de valor ou de qualidade para que sejam gravados.

Para cada tipo de grandeza armazenada, um conjunto de tabelas gerado automaticamente, um para os Tags
analgicos, outro para os textos e um terceiro para os digitais. Desta forma, cada Storage pode gerenciar at sete
tabelas (backup), caso seja especificado que os trs tipos de Tags devem ser armazenados:
<NomeTabela>_Fields
<NomeTabela>
<NomeTabela>_Text
<NomeTabela>_Bit
<NomeTabela>_Backup
<NomeTabela>_Text_Backup
<NomeTabela>_Dig_Backup

53 Storage
13.2 Configurao
Quando o Storage criado na Tela, mostrada uma lista de definies dos campos de gravao, conforme a figura a
seguir.

Campos do Storage

Para efeitos de posterior consulta nos dados, toda a busca se d atravs do caminho do Tag ou da propriedade que
est sendo armazenada (coluna Fonte). A coluna Nome s utilizada caso a coluna Fonte contenha uma expresso.
Logo, se expresses no so utilizadas na coluna Fonte, no h necessidade de se importar com a coluna Nome.

Storage 54
13.3 Consultas Internas
A ferramenta Consulta (Query) prev algumas facilidades para realizar consultas nos dados do Storage. Ao configurar
a Consulta, ao invs de exibir as tabelas, h uma rvore com todas as variveis armazenadas.

Configurao da Consulta

O usurio pode escolher uma dentre as sete funes descritas nos tpicos a seguir para consolidao dos dados.

13.3.1 LastValue
Retorna o ltimo valor armazenado na Base de Dados.

13.3.2 ArchivedValue
Retorna um valor armazenado em relao a um determinado instante de tempo definido na varivel TimeStamp. O tipo
de relao pode ser:

Previous: Valor armazenado imediatamente anterior estampa de tempo fornecida

Next: Valor armazenado imediatamente posterior estampa de tempo

Interpolated: Valor calculado a partir dos valores Previous e Next

ExactTime: Valor armazenado no exato instante fornecido pela estampa de tempo

55 Storage
13.3.3 TagAttribute
Retorna um atributo do Tag, que pode ser:

FieldDescription: Significado ou descrio do Tag

FieldSource: Caminho do Tag sendo armazenado

FieldType: Tipo de dado (Double, Bit, String ou Integer)

FieldEU: Unidade de engenharia

FieldLowEng: Limite inferior

FieldHighEng: Limite superior

FieldDeadBand: Banda morta para gravao

FieldDeadBandUnit: Unidade de banda morta (absoluta ou percentagem)

FieldMinRecTime: Tempo mnimo para gravao

FieldMaxRecTime: Tempo mximo para gravao

13.3.4 CompressedDataNValues
Retorna, para um nico Tag, n valores armazenados a partir de um instante inicial.

13.3.5 CompressedDataStartEndTime
Retorna, para um nico Tag, os valores armazenados entre um intervalo inicial e um intervalo final.

13.3.6 SampledData
Retorna, para um ou mais Tags, os valores interpolados (estimados) a intervalos fixos entre os instantes definidos
pelas variveis StartTime e EndTime.

13.3.7 CalculatedData
Retorna o resultado de operaes matemticas aplicadas aos dados entre os instantes definidos pelas variveis
StartTime e EndTime, a intervalos fixos. Os tipos de clculos so Total, Mnimo, Mximo, Desvio Padro, Amplitude,
Mdia e Mediana.

Storage 56
CAPTULO
Alarmes
14
O E3 dispe de um conjunto de objetos que permite ao usurio monitorar alarmes em uma aplicao. Com eles,
possvel especificar e gerenciar alarmes e eventos das variveis de um processo.

14.1 Eventos versus Alarmes


Um Evento, ao ser ativado, reconhecido automaticamente pelo usurio System e no incrementa o nmero de
alarmes ativos, nem o nmero de alarmes no reconhecidos.

14.2 Campos do Usurio


possvel especificar as configuraes de Banco de Dados e determinar campos para a gerao da tabela de
alarmes, e cada campo possui uma propriedade correspondente. Caso o usurio queira inserir mais informaes
nesta tabela, na aba Campos do usurio pode-se adicionar valores arbitrrios aos eventos de alarmes.

Aba Campos do usurio

As opes disponveis nesta aba esto descritas na tabela a seguir.

Opes disponveis na aba Campos do usurio

OPO DESCRIO
Nome Determina o nome do campo

Tipo Determina o tipo de campo (String, Integer, Double ou


DateTime)

Tamanho Determina o tamanho do campo

Fonte Determina a fonte de dados do Alarme

Propagar Fora a atualizao imediata de todos os alarmes que


herdam o valor deste Campo do Usurio, sempre que
este receber um valor forado ou se a Associao for
alterada

57 Alarmes
14.3 Assinatura Eletrnica
Para executar a assinatura eletrnica no E3, utilize o mtodo ESign do Viewer. Quando este mtodo utilizado, a caixa
de dilogo da figura a seguir mostrada.

Assinatura Eletrnica

ESign(ObjName, Description, Action[, From[, To[, User[, Comment]]]])

ObjName:Texto que contm o nome de um Tag ou outro objeto da aplicao

Description: Texto que contm a descrio de ObjName. Este parmetro opcional e, se for omitido, busca os
dados da propriedade DocString de ObjName

Action:Texto que contm a ao a ser executada (por exemplo, "Alterao do valor"). Este parmetro opcional
e o seu valor padro uma String vazia

From: Variant que contm o valor original ou o estado que vai ser alterado. Este parmetro opcional

To: Variant que contm o novo valor do Tag ou o valor a ser aplicado em Action. Este parmetro opcional

User: Texto de retorno. Recebe o nome de login digitado na caixa de dilogo. Este parmetro opcional

Comment: Texto de retorno. Recebe o comentrio digitado na caixa de dilogo. Este parmetro opcional

Ao clicar em , abre-se uma janela que permite autenticar o usurio. Se a opo Windows for selecionada, os
campos Nome do usurio e Senha so automaticamente desabilitados. Clique em Outro usurio para selecionar um
usurio pertencente ao domnio de rede. Caso a opo E3 seja selecionada, digite as informaes de um usurio
pertencente ao Domnio do E3 nos campos Nome do usurio e Senha.

Alarmes 58
Login integrado

Este mtodo retorna Verdadeiro se o usurio clicar em OK, e se os campos Usurio e Senha forem vlidos. Se a caixa
de dilogo for cancelada ou se o login ou a senha estiverem errados, aps trs tentativas o mtodo retorna Falso. Em
caso de falha, os parmetros User e Comment so configurados para uma String vazia.

Os comentrios pr-definidos so guardados no Registro do Windows. Apenas os ltimos 26 comentrios so salvos.


Cada vez que a janela criada, os ltimos comentrios so buscados no Registro e usados para preencher a lista de
seleo. Se um novo comentrio for informado pelo usurio, ele salvo e o mais antigo descartado, caso no haja
posio livre. Se for utilizado um comentrio pr-definido, este passa a ser o primeiro da lista de comentrios mais
recentes.

14.4 Exerccios
Neste exerccio, vamos monitorar o nvel dos tanques e, caso esteja fora do valor esperado, gerar um alarme.
Desejamos salvar na tabela de alarmes a descrio do tanque e tambm o motivo de reconhecimento do alarme.

59 Alarmes
14.4.1 Servidor de Alarmes
Configuraremos o Servidor de Alarmes para salvar o horrio de entrada, sada e reconhecimento do alarme, a
mensagem, o valor, se o alarme est ativo ou j retornou ao estado normal e dois campos de usurio, que
configuraremos mais adiante.

1. Abra a janela de propriedades do Servidor de Alarmes e configure-o para salvar as informaes no objeto
BancoDados. Mantenha o nome da tabela como "Alarms".

2. Selecione os campos mostrados na figura a seguir e mais os que desejar.

Campos da tabela de alarmes

Alarmes 60
14.4.2 Configurao de Alarmes
Todo tanque deve ter um alarme monitorando a informao de nvel.

1. Insira no XObject DadosTanque um objeto Configurao de Alarmes.

2. No objeto ConfigAlarmes, insira uma nova rea com o nome de "Tanques".

3. Na rea Tanques, insira um Alarme Analgico para a propriedade Nivel.Value do objeto DadosTanque.

Configurao de Alarmes

4. Configure os nveis e mensagens do Alarme conforme desejar.

Toda bomba deve sinalizar quando foi ligada ou desligada.

1. Insira no XObject DadosBomba um objeto Configurao de Alarmes.

2. No objeto ConfigAlarmes, insira uma nova rea com o nome de "Bombas".

3. Na rea Bombas, insira um Alarme Digital para a propriedade DadosBomba.Ligado.

4. Configure as mensagens do Alarme conforme desejar.

5. Para tratar este Alarme como um Evento, abra a sua janela de propriedades e, na aba Fonte, selecione a opo
Tratar este alarme como um evento.

61 Alarmes
14.4.3 Campos do Usurio
Por padro, pode-se incluir na tabela de alarmes at quatro campos de usurios, podendo ser adicionados mais
campos a partir do Servidor de Alarmes. Usaremos o Campo de Usurio 1 (UserField1) para salvar a descrio do
tanque e o Campo de Usurio 2 (UserField2) para inserir o motivo do reconhecimento do alarme.

1. Abra a janela de propriedades da rea Tanques do XObject DadosTanque e configure o campo UserField1 (aba
rea de Alarmes) para salvar a descrio (propriedade DocString) do objeto Tanque.

Propriedades da rea Tanques

2. Verifique se a propriedade DocString dos tanques est corretamente configurada.

3. Para justificar o motivo de reconhecimento de um Alarme, insira na pasta Dados um Tag Interno chamado
"MotivoReconhecimento".

Tag MotivoReconhecimento

4. Abra a janela de propriedades do Servidor de Alarmes e configure o campo UserField2 (aba Campos do usurio)
para salvar o motivo de reconhecimento do Alarme.

Alarmes 62
Propriedades do Servidor de Alarmes

63 Alarmes
14.4.4 E3Alarm
Para visualizar os alarmes em tempo real, use o objeto E3Alarm e, na opo Filtrar por Tipo da janela de
configurao do Filtro padro (aba Filtros), selecione o item Alarmes e Eventos.

1. Na parte inferior da TelaInicial, insira um objeto E3Alarm.

2. Configure a coluna Servidor de Alarmes da Conexo padro (aba Conexes) com o Servidor de Alarmes criado
anteriormente.

3. Selecione as colunas e cores de sua preferncia. No se esquea de selecionar o Campo de Usurio 1 (UserField1)
e o Campo de Usurio 2 (UserField2).

Vamos configurar uma opo de filtro atravs de uma lista de seleo. Caso seja selecionado o item Todos, no deve
haver filtro. Caso contrrio, deve exibir apenas a rea selecionada na lista de seleo.

1. Insira, ao lado do objeto E3Alarm, uma Lista de Seleo (Combo Box) e altere seu nome para "cbFiltroAlarme".

2. No evento OnStartRunning, insira o script a seguir para preencher a lista de seleo.


'Limpar a lista
Clear()
'Adicionar itens
AddItem "Todos"
AddItem "Tanque"
AddItem "Bomba"

3. No E3Alarm, crie uma Associao Mltipla no campo AreaFilter com a expresso 'TelaInicial.cbFiltroAlarme.Value
= "Todos"'.

4. Adicione duas linhas na Associao Mltipla. Para o valor 0 (zero), o filtro deve receber o valor da lista de seleo.
Para o valor -1 (menos um), deve receber uma String vazia.

Associao Mltipla

5. Teste a nova funcionalidade.

Alarmes 64
14.4.5 Assinatura Eletrnica
Para reconhecer um Alarme, necessrio informar um usurio vlido e o motivo do reconhecimento.

1. Insira um boto prximo ao E3Alarm para reconhecer o Alarme selecionado.

2. No evento Click deste boto, insira o script a seguir.


Set alarme = Screen.Item("E3Alarm1").GetFocusedEvent()
ObjName = alarme.AlarmSourceName
Description = alarme.Message
Action = "Reconhecimento de alarme"
If Application.ESign(ObjName, Description, Action, "", "",_
Usuario, Comentario) Then
'Motivo do reconhecimento
Application.GetObject("Dados.MotivoReconhecimento").Value = Comentario
'Reconhece o alarme
Screen.Item("E3Alarm1").AckSelected(Usuario)
'Limpa o motivo
Application.GetObject("Dados.MotivoReconhecimento").Value = ""
End If

3. Execute a aplicao e teste a nova funcionalidade.

14.4.6 E3Browser
Os Alarmes gravados na tabela de alarmes so visualizados em um E3Browser. Para separar os tipos de informao
(entrada, reconhecimento e sada do Alarme), mudaremos a cor do texto da linha.

1. Insira uma nova Tela, chamada "TelaAlarmes", com o tamanho de 500 por 500 pixels.

2. Insira um E3Browser nesta Tela.

3. Configure o E3Browser para exibir a tabela Alarms. Selecione os campos ConditionActive, InTime, OutTime e
AckTime e mais os campos de sua preferncia.

4. Para colorir o E3Browser simulando o E3Alarm, no evento OnDrawRow insira o script a seguir.
ConditionActive = GetColumnValue(0)
InTime = GetColumnValue(1)
OutTime = GetColumnValue(2)
AckTime = GetColumnValue(3)
'Alarme ativo
If ConditionActive = 1 Then
'Entrada de alarme ou reconhecimento
If AckTime = "00:00:00" Then 'Entrada
RowTextColor = vbRed
Else 'Reconhecimento
RowTextColor = vbBlue
End If
Else
'Sada de alarme ou reconhecimento
If AckTime = "00:00:00" Then 'Sada
RowTextColor = vbBlack
Else 'Reconhecimento
RowTextColor = vbBlack
End If
End If

5. Insira na TelaInicial um boto para abrir a TelaAlarmes.

65 Alarmes
CAPTULO
Relatrios
15
O Relatrio um componente ActiveX chamado ActiveReport, que permite a visualizao e impresso de valores
instantneos de variveis do sistema e dados armazenados em Banco de Dados (Alarmes, Histricos, Consultas e
Frmulas). Para utilizar o Relatrio, clique com o boto direito do mouse no item Visualizao - Relatrios do
Organizer, em modo Domnio, selecione a opo Inserir Relatrio em e em seguida o nome do projeto desejado.

O Relatrio tambm utiliza o objeto Consulta. Este objeto permite que seja especificada a origem dos dados do
Banco de Dados que so visualizados no Relatrio.

Um Relatrio contm vrias Sees. Cada Seo do Relatrio contm um grupo de controles que so processados e
impressos ao mesmo tempo, como uma unidade.

15.1 Group Header e Footer


Um Relatrio pode ter mltiplos Grupos. Cada Grupo possui uma Seo Header e uma Seo Footer. A Seo Header
imprime antes de qualquer Seo Detail no Grupo. A Seo Footer imprime depois da Seo Detail do Grupo.

Atravs do Group Footer vamos mostrar as estatsticas de cada Grupo, separadas por coluna:

Soma de todos os dados

Valores mximo e mnimo que foram armazenados

Mdia

15.2 Exerccios
15.2.1 Relatrio
1. Insira um Relatrio no projeto, chamado "RelatorioAlarmes".

2. Clique com o boto direito do mouse no objeto Consulta1 do Relatrio e selecione a opo Configurar.

3. Selecione o Banco de Dados e, na sequncia, a tabela Alarms.

4. Selecione o campo E3TimeStamp e mais os campos que desejar.

5. Para cada campo selecionado na Consulta, insira um Campo de Dados na Seo Detail e configure sua
propriedade DataField.

6. Finalize o design do Relatrio conforme sua preferncia.

Relatrios 66
15.2.2 Group Header e Footer
1. Clique com o boto direito do mouse no fundo do Relatrio e selecione a opo Insert - Group Header/Footer.
Esta opo insere um novo Grupo no Relatrio.

Inserir Group Header ou Footer

2. Na propriedade DataField do GroupHeader1, escreva a expresso ou campo pelo qual deseja agrupar os dados.
Nossos dados vo ser agrupados por minuto.

Inserir expresso em um Campo

3. Copie o campo E3TimeStamp, da seo Detail para a seo GroupFooter1.

4. Para calcular o nmero de registros no minuto modifique, no Campo de Dados E3TimeStamp no GroupFooter1,
as propriedades conforme a figura a seguir.

67 Relatrios
Propriedades de E3TimeStamp

5. frente do Campo de Dados, insira um texto fixo com a expresso "Nmero de alarmes no minuto".

15.2.3 Imprimir
1. Na TelaAlarmes, insira um Boto de Comando e altere a propriedade Caption para "Imprimir".

2. Insira um Pick do tipo Imprimir Relatrio e selecione o RelatorioAlarmes para ser impresso na Tela.

Relatrios 68
15.2.4 Exportar
Para que o usurio selecione o nome e o diretrio do arquivo que vai ser gerado, vamos abrir uma caixa de dilogo.

1. Na TelaAlarmes, insira um Boto de Comando e altere a propriedade Caption para "Exportar".

2. Crie o script a seguir.


'Exportar
If Application.ShowFilePicker(False, NomeArquivo,"pdf", _
128, "Arquivos PDF|*.pdf|Todos os arquivos|*.*") Then
Set Report = Application.LoadReport("RelatorioAlarmes")
Report.Export "PDF", NomeArquivo
End If

3. Com o auxlio do AppBrowser, selecione o mtodo ShowFilePicker do Viewer.


Application.ShowFilePicker(Open, FileName, Extension, Flags, Filter)

4. Como desejamos salvar um arquivo, substitua o parmetro Open por "False".

5. O parmetro FileName deve ser uma varivel interna de script, que armazena o nome do arquivo. Substitua-o por
"NomeArquivo".

6. Caso no seja informada a extenso do arquivo, considera-se como padro o que for informado no parmetro
Extension. Digite "pdf".

7. Para que uma mensagem de confirmao aparea para o usurio caso o arquivo j exista, altere o parmetro
Flags para "128".

8. As caixas de dilogo de arquivos permitem filtros para facilitar a busca por tipos de arquivos.

Filtro de arquivos

9. O filtro sempre um par de Strings separadas pelo caractere "|", em que o primeiro item o nome que aparece
para o usurio e o segundo uma identificao para o sistema operacional.

10. Substitua o parmetro Filter por "Arquivos PDF|*pdf | Todos os arquivos| *.*".

69 Relatrios
11. O arquivo s pode ser gerado se o usurio clicar em Salvar. Se o usurio cancelar a ao, nada deve acontecer.
No incio do comando ShowFilePicker, digite "If" e ao final digite "Then".

12. Para exportar o Relatrio, selecione no AppBrowser o item Tarefas - Carregar relatrio - RelatorioAlarmes e,
direita, o mtodo Export.
Set Report = Application.LoadReport("RelatorioAlarmes")
Report.Export([ExportFilter], [ExportFileName])

13. Substitua o parmetro ExportFilter por "PDF" e o parmetro ExportFileName pela varivel NomeArquivo, criada
anteriormente.

14. Teste a nova funcionalidade da aplicao.

Relatrios 70
CAPTULO
E3 WebViewer
16
O E3 WebViewer um componente ActiveX que permite ao navegador comportar-se como o E3 Viewer, visualizando
e controlando aplicaes E3 via Internet. Desta forma, possvel visualizar e interagir com um processo de cho de
fbrica atravs de um navegador web comum. O navegador pode estar em qualquer computador da rede que tenha
acesso ao E3 Server.

Depois de instalado, o E3 WebViewer funciona exatamente como o E3 Viewer, executando o download da aplicao
(Telas, bitmaps, etc.) para a mquina local. Todas as funcionalidades do E3 Viewer (E3Chart, E3Alarm, etc.) so
suportadas pelo E3 WebViewer.

16.1 Aplicaes E3 na Web


Para que aplicaes E3 estejam disponveis na web, preciso utilizar um servidor de Internet que execute corretamente
os scripts da pgina do controle E3 WebViewer. Qualquer servidor de Internet pode ser utilizado, desde que execute
pginas ASP.

71 E3 WebViewer
16.1.1 IIS (Internet Information Services)
Um servidor de Internet fornecido juntamente com o Windows o servidor IIS (Internet Information Services). Para
instal-lo no Windows Server 2003 SP2 e Windows XP SP3, execute os passos a seguir:

1. Abra o menu Iniciar - Painel de Controle (Start - Control Panel).

2. Clique em Adicionar ou remover programas (Add or remove programs).

3. Clique em Adicionar ou remover componentes do Windows (Add or remove Windows component).

Assistente de componentes do Windows

4. Selecione na lista o item Servios de Informaes da Internet (Internet Information Services) e clique em Avanar
(Next).

5. O sistema inicia a instalao do software (para instalar o IIS preciso ter o CD de instalao do Windows).

6. Aguarde a finalizao do processo para configurar o sistema.

7. Para o Windows Server 2003 SP2, deve-se habilitar as opes Pginas do Active Server (Active Server Pages) e
Conector de dados da Internet (Internet data connector).

E3 WebViewer 72
Opes Pginas do Active Server e Conector de dados da Internet

Para instalar o IIS no Windows Vista SP2, Windows 7 SP1, Windows 8, Windows 8.1 e Windows 10, execute os
passos a seguir, utilizando uma conta com direitos de administrador:

1. Abra o menu Iniciar - Painel de Controle (Start - Control Panel) no Windows Vista SP2 e Windows 7 SP1, ou abra
o item Aplicativos - Sistema do Windows - Painel de Controle (Apps - Windows System - Control Panel) na tela
Inicial do Windows 8 e Windows 8.1. No Windows 10, clique com o boto direito do mouse no menu Iniciar
(Start) e selecione o item Painel de Controle (Control Panel).

2. Clique em Programas e Recursos (Programs and Features).

3. Clique em Ativar ou desativar recursos do Windows (Turn Windows features on or off).

4. Localize na lista o item Servios de Informaes da Internet (Internet Information Services) e clique em para
expandir todos os seus subitens.

73 E3 WebViewer
Recursos do Windows

5. Selecione, no mnimo, as opes a seguir e clique em OK.

Ferramentas de Gerenciamento da Web (Web Management Tools)

Console de Gerenciamento do IIS (IIS Management Console)

Scripts e Ferramentas de Gerenciamento do IIS (IIS Management Scripts and Tools)

Servio de Gerenciamento do IIS (IIS Management Service)

Servios da World Wide Web (World Wide Web Services)

Recursos de Desenvolvimento de Aplicativos (Application Development Features)

ASP

Extenses ISAPI (ISAPI Extensions)

Filtros ISAPI (ISAPI Filters)

Recursos Http Comuns (Common Http Features)

Contedo Esttico (Static Content)

Documento Padro (Default Document)

Redirecionamento de HTTP (HTTP Redirection)

Segurana (Security)

Autenticao Bsica (Basic Authentication)

Filtragem de Solicitaes (Request Filtering)

6. O sistema inicia a instalao do software. Aguarde a finalizao do processo para configurar o sistema.

E3 WebViewer 74
16.1.2 Arquivos Web
Aps a instalao do IIS, todos os arquivos da pasta C:\Arquivos de programas\ElipseE3\Web devem ser copiados
para C:\InetPub\wwwroot. Esta pasta criada na instalao do IIS. Alm destes arquivos, o instalador do E3
WebViewer (e3webviewer-x86-ptb.exe) tambm deve ser copiado para esta mesma pasta. Este arquivo pode ser
obtido atravs de download no site da Elipse. Um detalhe muito importante que a verso destes instaladores deve
ser exatamente a mesma verso do E3 Server.

Qualquer usurio, desde que esteja devidamente autorizado pelas polticas de segurana e acesso da empresa, pode
visualizar e controlar uma aplicao E3 na Internet atravs de seu navegador. Alguns requisitos bsicos so
necessrios:

Ter um PC com Windows XP

Ter um navegador Internet Explorer 6.0 ou superior

Ter acesso Internet

O servidor verifica se o cliente tem um WebViewer instalado e atualizado. Se no existir, o pacote do WebViewer
enviado para a instalao no cliente.

Aviso de Segurana

Quando o usurio confirmar o aviso de segurana, o plug-in instalado. O componente assinado pela Elipse
Software, e o usurio deve aceitar sua instalao para que ele inicie as configuraes necessrias.

No acesso seguinte no mais necessrio instalar os componentes, e o tempo de conexo mais rpido.

75 E3 WebViewer
16.2 Arquivos E3Web.asp e DocWrite.asp
Os arquivos E3Web.asp e DocWrite.asp tm a funo de carregar e iniciar o ActiveX E3Downloader. O arquivo
e3downloader.cab o ActiveX que enviado para a mquina cliente e executa a instalao do arquivo e3webviewer-
x86-ptb.exe. Os arquivos e3web2.asp e docwrite2.asp tm a funo de carregar e iniciar o ActiveX do WebViewer que
mostra a aplicao sendo executada na mquina do Internet Explorer. Todos ficam disponveis para configurao do
usurio. Estes arquivos ficam localizados no diretrio onde o E3 foi instalado, na pasta Web.

A pgina docwrite2.asp vem configurada considerando-se que o E3 Server est executando no mesmo computador
que o servidor web. Porm, possvel alterar o cdigo fonte desta pgina para atender a configurao desejada. Para
maiores informaes, consulte o Manual do Usurio do E3. possvel editar o arquivo docwrite2.asp incluindo
algumas configuraes. Caso se queira permitir ao usurio informar uma tela inicial vlida, diferente da configurada
no Domnio, deve-se alterar a linha a seguir, colocando em Nome_da_tela um nome de Tela vlido na aplicao.
<param name="Screen" value="Nome_da_tela">

Caso se queira informar a necessidade de se executar o comando ping para o servidor antes de tentar a conexo,
deve-se alterar a linha a seguir. O valor pode ser True ou False.
<param name="Ping" value="True">

Se esta linha for omitida, o comando ping executado.

Para especificar um diretrio para a gravao do cache do Viewer, deve-se alterar o parmetro CachePath no arquivo
docwrite2.asp. Se no for especificado, usado o diretrio temporrio do sistema (varivel de ambiente TEMP).
Exemplo:
<param name="CachePath" value="diretorio_para_cache">

Caso seja preciso que o WebViewer procure por outros servidores na rede se no conseguir conectar ao servidor
especificado no parmetro Domain, deve-se alterar o parmetro UseServers no arquivo docwrite2.asp. Se o parmetro
no for informado, o WebViewer tenta se conectar apenas ao servidor especificado no parmetro Domain, que o
comportamento padro do WebViewer (valor "True"). A alterao do valor para "False" s funciona para servidores e
WebViewers que estejam na mesma rede. Exemplo:
<param name="UseServers" value="False">

A configurao do E3 WebViewer para abrir no modo Somente Leitura realizada atravs do parmetro
StartReadOnly.
<param name="StartReadOnly" value="False">

Em ambos os casos, esta configurao s tem efeito na abertura do E3 WebViewer. Se o parmetro for mudado
durante a execuo, a conexo ou reconexo do E3 WebViewer no afetada.

Para se navegar para uma pgina diferente do padro aps o carregamento do E3 WebViewer, deve-se modificar o
atributo value do parmetro URLToLoad do arquivo docwrite.asp para o endereo desejado. Exemplo:
<param name="URLToLoad" value="URL">

Se esta linha for omitida, a pgina e3web2.asp carregada.

Para especificar se o instalador do E3 WebViewer deve ou no instalar o ActiveX Control Pad (MS Forms), deve-se
modificar o parmetro InstallACP do arquivo docwrite.asp com os valores "True" ou "False", respectivamente. Se este
item no existir, o valor assumido "True" (o ActiveX Control Pad instalado). Exemplo:
<param name="InstallACP" value="True">

E3 WebViewer 76
NOTA
Caso o parmetro InstallACP esteja configurado com o valor "False", as Telas da aplicao que utilizem MS Forms
podem apresentar erros durante o carregamento, se os objetos MS Forms no tenham sido previamente instalados
por outros aplicativos, como por exemplo o Microsoft Office.

16.3 Configurando o Internet Information Services


So necessrias algumas configuraes no IIS para que a aplicao E3 possa ser acessada via web. Antes de tudo,
deve-se liberar o acesso porta TCP 6515 (porta utilizada pelo Servidor E3 para comunicao com o WebViewer), e
tambm a porta padro do IIS, normalmente a 80.

Existem duas configuraes possveis para a organizao dos servidores E3 e IIS, o E3Server e o IIS no mesmo
servidor ou em servidores distintos. Neste Tutorial abordada apenas a primeira opo. Informaes detalhadas
sobre este assunto podem ser obtidas no Knowledgebase da Elipse (kb.elipse.com.br), no artigo Publicando
aplicaes E3 na Internet com o Microsoft Internet Information Services.

E3 Server e IIS no mesmo servidor

77 E3 WebViewer
16.3.1 Windows Server 2003 e Windows XP
No Windows Server 2003 SP2 e Windows XP SP3, siga estes procedimentos:

1. Abra o menu Iniciar - Painel de Controle - Ferramentas Administrativas (Start - Control Panel - Administrative
Tools).

2. Abra o item Servios de Informaes da Internet (Internet Information Services) no Windows XP SP3 ou o item
Gerenciador de Servios da Internet (Internet Services Manager) no Windows Server 2003 SP2.

3. Clique com o boto direito do mouse no item Site da Web Padro (Default Web Site), e selecione o item Novo -
Diretrio virtual (New - Virtual directory).

Adicionar novo Diretrio virtual

4. Na prxima janela, utilize qualquer nome conveniente e fcil de ser digitado futuramente na barra de endereos.

E3 WebViewer 78
Alias do diretrio virtual

5. O diretrio padro pode ser livremente modificado conforme convenincia do usurio. A dica manter o diretrio
padro para reduzir o nmero de etapas at o fim da configurao.

Diretrio de contedo do site da Web

6. As permisses Leitura (Read) e Executar scripts (Run scripts) so suficientes para que a aplicao esteja
totalmente funcional via Internet.

79 E3 WebViewer
Permisses de acesso

7. Aps finalizar estas configuraes, necessrio definir qual arquivo executado assim que o usurio pressionar a
tecla ENTER aps digitar o endereo no navegador.

8. Clique com o boto direito do mouse no novo diretrio virtual e selecione a opo Propriedades (Properties).

Propriedades do diretrio virtual

E3 WebViewer 80
9. Clique em Remover (Remove) para excluir todos os documentos disponveis no quadro Ativar documento padro
(Activate default document). Em seguida, clique em Adicionar (Add) para incluir o arquivo e3web.asp. Este o
arquivo chamado quando o usurio acessa o site onde a aplicao est hospedada.

Ativar documento padro

10. Na aba Diretrio virtual (Virtual directory) selecione, na caixa de seleo Permisses de execuo (Execute
permissions), a opo Somente scripts (Scripts only). Agora, a aplicao j est publicada e pronta para ser
acessada.

81 E3 WebViewer
Aba Diretrio virtual

11. Para visualizar a aplicao, digite na barra de endereos do navegador o endereo ou IP do servidor (por
exemplo, http://servidor/diretoriovirtual).

E3 WebViewer 82
16.3.2 Windows Vista
No Windows Vista SP2 (IIS 7), siga estes procedimentos.

1. Abra o menu Iniciar - Painel de Controle - Ferramentas Administrativas (Start - Control Panel - Administrative
Tools).

2. Abra o item Gerenciador de Servios e Informaes na Internet (IIS) (Internet Information Service (IIS) Manager).

3. Clique com o boto direito do mouse no item Site da Web Padro (Default Web Site) e selecione a opo
Adicionar Diretrio Virtual (Add Virtual Directory).

Adicionar Diretrio Virtual

4. No campo Alias, digite um nome conveniente e fcil, pois utilizado para acessar o diretrio na barra de
endereos do navegador. Em Caminho fsico (Physical path), clique em e selecione o diretrio onde os
arquivos foram armazenados (neste exemplo foi utilizado C:\inetpub\wwwroot\). Clique em OK.

83 E3 WebViewer
Caminho fsico dos arquivos

5. Clique no Diretrio Virtual criado, que est em Site da Web Padro (Default Web Site), e selecione a opo
Documento Padro (Default Document), dentro do quadro central.

Documento padro

6. Clique em Abrir Recurso (Open Feature) e em Adicionar (Add) no painel Aes (Actions), digite "e3web.asp" no
campo Nome (Name) e clique em OK.

E3 WebViewer 84
Adicionar documento padro

7. Aps estes procedimentos, a estao cliente pode acessar o servidor HTTP atravs do Internet Explorer. Para
visualizar a aplicao, digite na barra de endereos do navegador o endereo ou IP do servidor (por exemplo,
http://servidor/diretoriovirtual).

85 E3 WebViewer
16.3.3 Windows 7
No Windows 7 SP1, siga estes procedimentos:

1. Abra o menu Iniciar - Painel de Controle - Ferramentas Administrativas (Start - Control Panel - Administrative
Tools).

2. Abra o item Gerenciador do Servios de Informaes da Internet (IIS) (Internet Information Services (IIS) Manager).

3. Clique com o boto direito do mouse no item Site da Web Padro (Default Web Site) e selecione a opo
Adicionar Diretrio Virtual (Add Virtual Directory).

Adicionar diretrio virtual

4. No campo Alias, digite um nome conveniente e fcil, pois utilizado para acessar o diretrio na barra de
endereos do navegador. Em Caminho Fsico (Physical Path), clique em e selecione o diretrio onde os
arquivos foram armazenados (neste exemplo foi utilizado C:\inetpub\wwwroot\). Clique em OK.

E3 WebViewer 86
Caminho fsico dos arquivos

5. Clique no Diretrio Virtual criado, que est em Site da Web Padro (Default Web Site), e selecione a opo
Documento Padro (Default Document), dentro do quadro central.

Documento padro

6. Clique em Abrir Recurso (Open Feature) e em Adicionar (Add) no painel Aes (Actions), digite "e3web.asp" no
campo Nome (Name) e clique em OK.

87 E3 WebViewer
Adicionar documento padro

7. Aps estes procedimentos, o computador cliente pode acessar o servidor web utilizando o navegador Internet
Explorer.

E3 WebViewer 88
16.3.4 Windows 8 e Windows 8.1
No Windows 8 e Windows 8.1, siga estes procedimentos:

1. Na tela Inicial, abra o item Aplicativos - Sistema do Windows - Painel de Controle - Ferramentas
Administrativas (Apps - Windows System - Control Panel - Administrative Tools).

2. Abra o item Gerenciador do Servios de Informaes da Internet (IIS) (Internet Information Services (IIS) Manager).

3. Clique com o boto direito do mouse no item Site da Web Padro (Default Web Site) e selecione a opo
Adicionar Diretrio Virtual (Add Virtual Directory).

Adicionar diretrio virtual

4. No campo Alias, digite um nome conveniente e fcil, pois utilizado para acessar o diretrio na barra de
endereos do navegador. Em Caminho fsico (Physical Path), clique em e selecione o diretrio onde os
arquivos foram armazenados (neste exemplo foi utilizado C:\inetpub\wwwroot\). Clique em OK.

89 E3 WebViewer
Caminho fsico dos arquivos

5. Clique no Diretrio Virtual criado, que est em Site da Web Padro (Default Web Site), e selecione a opo
Documento Padro (Default Document), dentro do quadro central.

Documento padro

E3 WebViewer 90
6. Clique em Abrir Recurso (Open Feature) e em Adicionar (Add) no painel Aes (Actions), digite "e3web.asp" no
campo Nome (Name) e clique em OK.

Adicionar documento padro

7. Aps estes procedimentos, o computador cliente pode acessar o servidor web utilizando o navegador Internet
Explorer.

91 E3 WebViewer
16.3.5 Windows 10
No Windows 10, siga estes procedimentos:

1. Clique com o boto direito do mouse no menu Iniciar (Start).

2. Clique em Painel de Controle (Control Panel).

3. Clique em Ferramentas Administrativas (Administrative Tools).

4. Abra o item Gerenciador do Servios de Informaes da Internet (Internet Information Services (IIS) Manager).

5. Clique com o boto direito do mouse no item Site da Web Padro (Default Web Site) e selecione a opo
Adicionar Diretrio Virtual (Add Virtual Directory).

Adicionar Diretrio Virtual

6. No campo Alias, digite um nome conveniente e fcil, pois utilizado para acessar o diretrio na barra de
endereos do navegador. Em Caminho Fsico (Physical Path), clique em e selecione o diretrio onde os
arquivos foram armazenados (neste exemplo foi utilizado C:\inetpub\wwwroot\). Clique em OK.

E3 WebViewer 92
Caminho fsico dos arquivos

7. Clique no diretrio virtual criado, que est em Site da Web Padro (Default Web Site), e selecione a opo
Documento Padro (Default Document), dentro do quadro central.

Documento padro

93 E3 WebViewer
8. Clique em Abrir Recurso (Open Feature) e em Adicionar (Add) no painel Aes (Actions), digite "e3web.asp" no
campo Nome (Name) e clique em OK.

Adicionar documento padro

9. Aps estes procedimentos, o computador cliente pode acessar o servidor web utilizando o navegador Internet
Explorer.

16.4 Questes de Licenciamento


Deve-se considerar o nmero de licenas para acesso, pois cada WebViewer conectado consome uma licena de
Viewer, como se estivesse fora do browser. Sempre que necessrio, podem ser adquiridas novas licenas de Viewer,
possibilitando um maior nmero de acessos simultneos.

16.5 Exerccios
1. Siga o contedo do captulo e publique uma aplicao do E3 na Internet.

16.6 Exerccios Complementares

E3 WebViewer 94
16.6.1 Restries de IP e Nmero de Acessos
Com este recurso, possvel bloquear totalmente a conexo, ou ainda limitar a quantidade e o tipo de licenas que
so usadas simultaneamente para um determinado grupo de IPs.

1. Para acessar os grupos de Viewers, clique com o boto direito do mouse no cone do E3 na rea de Notificao
do Windows e selecione o item Domnio - Opes.

Opo Domnio - Opes

2. Clique na aba Grupos de Viewers e configure os grupos que desejar.

Grupos de Viewers

16.6.2 KB
KB-32109: Licena para WebViewer

95 E3 WebViewer
CAPTULO
Event Log Viewer
17
O Elipse Event Log Viewer um sistema de logs desenvolvido pela Elipse Software. Os processos do E3 usam um
formato binrio para gravao de eventos, disponvel para sistemas operacionais Windows XP SP3 ou superiores e,
para sistemas anteriores, os logs so gravados em arquivos de texto.

Os arquivos so armazenados em formato estruturado que permite uma srie de funcionalidades como filtros,
gravao de mensagens binrias, ordenamento e pesquisa.

O Event Log Viewer um controle ActiveX que pode ser integrado ao E3, para que seja possvel o acompanhamento
dos processos do E3 de dentro da aplicao e possui um servio de controle e gerenciamento de arquivos pelo
sistema, que garante a manuteno de um tamanho mximo de arquivos em disco sem esgotamento do espao
disponvel.

Para utilizar o Log Viewer, acesse o menu Iniciar - Programas - Elipse Software - Elipse Event Log - Log Viewer.

17.1 Configurao do Armazenamento de Arquivos


Atravs da opo Storage Settings, possvel configurar o gerenciamento automtico dos arquivos .etl ou .log
gravados pelo E3. Com ela, possvel gerenciar onde os arquivos de log so armazenados, o tamanho mximo do
repositrio, e o tempo que cada arquivo permanece no repositrio (com base na data de criao do arquivo).
Selecione o menu View - Storage Settings, ou clique em .

Janela Storage Settings

Event Log Viewer 96


17.2 Abertura de Arquivos
Os arquivos de log com extenso .etl podem ser abertos no Log Viewer de trs formas:

Atravs do menu File - Open

Atravs do cone na barra de ferramentas

Arrastando o arquivo at a janela

Janela de visualizao de eventos

Na rea de visualizao de eventos, os arquivos so ordenados cronologicamente, um evento por linha.

97 Event Log Viewer


17.3 Merge de Eventos
Com o Log Viewer, tambm possvel abrir mais de um arquivo ao mesmo tempo e mesclar suas informaes como
se fosse um nico arquivo. Os eventos so ordenados cronologicamente, de modo a permitir a anlise de eventos de
causa e consequncia entre mquinas diferentes ou entre arquivos diferentes. Clique em ou use o menu File -
Open Merged Files e selecione os arquivos que deseja mesclar clicando em Add file.

Janela Merge Files

17.4 Filtros
Esta seo contm informaes sobre a filtragem de eventos no Elipse Event Log Viewer.

Event Log Viewer 98


17.4.1 Filtro de Mensagens
O Filtro de Mensagens permite restringir o intervalo dos eventos atravs da seleo do tipo de mensagem a ser
mostrado. Para acessar esta opo, selecione o menu Actions - Filter Editor ou clique em e clique na aba By
Message.

Janela Filtro de Mensagem

Ao clicar em Help, mostrada uma janela com a sintaxe correta para cada palavra chave vlida. Quando mais de um
valor for usado em uma palavra-chave, necessrio separ-los com uma vrgula. A ordem de avaliao dos scripts de
filtro dada por um OR entre palavras chave e um AND entre linhas. Exemplo:
Process == (0xC48,0x9C8);
Module == ("MANAGER______");

Isto significa que apenas so exibidos eventos que satisfaam equao lgica a seguir.
(Process == 0xC48 OR 0x9C8) AND Module == MANAGER______

Para ligar o filtro, use a opo correspondente na barra de ferramentas.

99 Event Log Viewer


17.4.2 Filtro de Tempo
O Filtro de Tempo permite restringir o intervalo das mensagens atravs da seleo de data e hora iniciais e finais a
serem mostradas. Para acessar esta opo, selecione o menu Actions - Filter Editor ou clique em e clique na aba
By Time. No filtro por tempo, a hora inicial includa, mas a final excluda.

Janela Filtro de Tempo

17.5 Exerccios
1. Abra o Event Log Viewer.

2. Selecione o arquivo com a data atual para ser visualizado.

3. Realize testes de filtros por mensagem e por tempo.

Event Log Viewer 100


CAPTULO
E3 Tweak
18
O E3 Tweak uma pequena e simples ferramenta de configurao avanada para o E3, que est presente a partir da
verso 3.1. A grande finalidade introduzir uma interface grfica para todas aquelas configuraes que at ento s
poderiam ser feitas atravs do Editor do Registro do Windows.

O E3 Tweak apresentado em uma janela com itens de configurao dispostos em uma estrutura de rvore. Os itens
so classificados conforme a rea na qual suas configuraes atuam: E3 Server, E3Run, REC, Logs e COMFilter.

18.1 Configuraes do E3 Server


Definir Nmero de Tentativas de Leitura da Hardkey

Configura o nmero de tentativas de leitura do HASP, executadas quando o E3 Server iniciado. Se configurado o
valor 0 (zero), o modo Demo habilitado automaticamente.

Desabilitar Mltiplas CPUs

No caso de computadores bi-processados, possvel configurar o E3 Server para utilizar apenas a primeira ou todas
as CPUs disponveis no sistema.

Definir o Timeout para o Ping

O ideal que seja sempre usado o menor valor possvel permitido pela rede. Isto faz com que o E3 Server detecte a
queda dos Viewers no mnimo tempo possvel, evitando o empilhamento excessivo de mensagens.

Configurar o Heartbeat da Licena

Na conexo de licena do servidor com o Viewer aplicado por padro um keep-alive (ou heartbeat). Se o Viewer
passar algum tempo sem responder, sua conexo desfeita automaticamente. Se o valor for 0 (zero), o heartbeat
desligado.

Configurar a Porta TCP/IP Utilizada pelo REC

O valor configurado indica o nmero da porta utilizada pelo protocolo REC. Podem ser usados valores maiores que
1024 e at 65535. Valores iguais ou abaixo de 1024 so reservados. Valores nulos ou invlidos habilitam a utilizao
da porta 6515.

Definir Timeout para o Fim do E3Run

O valor configurado indica o tempo mximo, em milissegundos, para que o E3Run seja encerrado.

101 E3 Tweak
18.2 Configuraes do E3Run
Ocultar a Janela de Progresso

possvel optar entre exibir ou ocultar a janela de progresso do E3Run.

Definir Tamanho da Pilha da Thread de Runtime

O E3 Server armazena as chamadas de funes em uma estrutura temporria em tempo de execuo chamada de
Pilha da Thread e, conforme as funes vo sendo processadas, so retiradas desta pilha. Embora no seja
recomendado, o tamanho desta pilha pode ser ajustado. O campo de edio deve receber um valor numrico em
megabytes. Se este item no selecionado, o valor da pilha fixado em 4 (quatro) megabytes. O valor 0 (zero) indica
que deve ser usado o tamanho padro do Windows (1 MB). O valor mximo desta varivel 256.

18.3 Configuraes do REC


Definir Nvel de Compresso

possvel habilitar a compactao de pacotes de comunicao atravs do REC entre o E3 Server, o Viewer e o Studio.
Qualquer valor entre 1 (um) e 9 (nove) ativa a compactao. O valor recomendado 6 (seis). Quaisquer valores fora
desta faixa desabilitam a compactao de pacotes do REC.

Esta configurao aplicada somente para a compactao do E3 Server ou do Viewer rodando localmente na
mquina. Tanto o E3 Server quanto o Viewer suportam descompactao de pacotes, independente de suas
configuraes.

Definir o Timeout da Conexo

Controla o tempo mximo que o Studio ou o E3 Admin levam para conectarem-se ao E3 Server. Quando o item no
est selecionado, assumido o valor padro de 6000 ms.

18.4 Configuraes dos Logs


Definir o Tempo Mnimo da Funo de Gravar Logs

possvel definir o tempo mnimo para logar uma funo nos logs Full (funes que durarem menos que este tempo
no so logadas). Quando este item est desmarcado, assume-se o valor padro de 100 ms.

Definir o Tempo para Avisos de Funes Travadas

possvel definir o tempo, em milissegundos, que uma funo deve estar executando para que seja gerado um aviso
(EcoLogWarning) de que a funo provavelmente est trancada. O valor 0 (zero) no campo de edio com o item
marcado desabilita a opo. Se no for 0 (zero), o valor mnimo aceito 20000.

Habilitar ou Desabilitar as Sees de Logs

possvel definir as sees de log que so habilitadas. Algumas sees podem ser subdivididas em mdulos, sendo
possvel habilitar cada mdulo separadamente.

18.5 Configuraes do COM Filter


Habilitar Filtro

O E3Run implementa um filtro de chamadas COM (Component Object Model) visando evitar chamadas reentrantes. Este
filtro por padro est desabilitado e para habilit-lo (recomendvel apenas nos sistemas que apresentarem erros ou
travamentos aparentemente sem causa), pode-se selecionar o item Habilitar filtro.

E3 Tweak 102
18.6 Exerccios
1. Altere o nmero de retentativas de reconhecimento do dispositivo de proteo para 10 retentativas.

103 E3 Tweak
CAPTULO
Preparatrio para a Certificao
19
Leituras recomendadas:

Como o Elipse E3 funciona

Noes de VBScript no Software Elipse E3: Introduo

Usando Bibliotecas no Elipse E3: Introduo

Usando o Viewer no E3: Introduo

Usando Bancos de dados no E3: Introduo

Seguem alguns exerccios para estudar para a prova de certificao:

1. Utilizando os recursos grficos do E3 (crculo, retngulo, linhas, etc.), crie um velocmetro.

2. Crie uma aplicao com um grfico. Ao entrar na Tela, o grfico deve exibir os ltimos 20 minutos.

3. Exporte um relatrio grfico para PDF.

4. Insira uma caixa de seleo na Tela que lista o nome de todos os Tags Demo da Pasta de Dados. Ao selecionar
um Tag na lista, um Display deve ser criado em tempo de execuo e associado ao Tag selecionado.

Preparatrio para a Certificao 104


Anotaes
A

Anotaes
Anotaes
Matriz Filial SP
Rua 24 de Outubro, 353 - 10 andar Rua dos Pinheiros, 870 - Conj. 141/142
90510-002 Porto Alegre 05422-001 So Paulo - SP
Fone: (+55 51) 3346-4699 Fone: (+55 11) 3061-2828
Fax: (+55 51) 3222-6226 Fax:(+55 11) 3086-2338
E-mail: elipse-rs@elipse.com.br E-mail: elipse-sp@elipse.com.br

Filial PR Filial MG
Av. Sete de Setembro, 4698/1705 Rua Antnio de Albuquerque, 156
80240-000 Curitiba - PR 7 andar Sala 705
Fone: (+55 41) 4062-5824 30112-010 Belo Horizonte - MG
E-mail: elipse-pr@elipse.com.br Fone: (+55 31) 4062-5824
E-mail: elipse-mg@elipse.com.br

Filial RJ Taiwan
Praia de Botafogo, 300/525 9F., No.12, Beiping 2nd St., Sanmin Dist.
22250-044 Rio de Janeiro - RJ 807 Kaohsiung City - Taiwan
Fone: (+55 21) 2158-1015 Fone: (+886 7) 323-8468
Fax: (+55 21) 2158-1099 Fax: (+886 7) 323-9656
E-mail: elipse-rj@elipse.com.br E-mail: evan@elipse.com.br

Consulte nosso website para informaes sobre o representante do seu estado.


www.elipse.com.br
kb.elipse.com.br
forum.elipse.com.br
www.youtube.com/elipsesoftware
elipse@elipse.com.br

Gartner, Cool Vendors in Brazil 2014, April 2014.


Gartner does not endorse any vendor, product or service depicted in its
research publications, and does not advise technology users to select only
those vendors with the highest ratings. Gartner research publications consist
of the opinions of Gartners research organization and should not be
construed as statements of fact. Gartner disclaims all warranties, expressed or
implied, with respect to this research, including any warranties of
merchantability of fitness for a particular purpose.

Você também pode gostar