E3manual BR
E3manual BR
E3manual BR
2. E3 STUDIO................................................................................................................................................................. 19
3. DOMÍNIOS ................................................................................................................................................................. 81
EXEMPLO DESCRIÇÃO
Nomes de arquivos e outros termos no nível do sistema
operacional são indicados com o tipo de letra , em
maiúsculas.
Nomes de campos e opções que devem ser procurados na
tela, em menus ou nas abas dos objetos são indicados com
tipo de letra .
“Agitação” Caracteres entre aspas devem ser digitados no lugar
mencionado, sem a presença das aspas.
Tela1.Show() Partes de programas (scripts) são indicadas com o tipo de
letra Courier. Eles deverão ser digitados nos lugares
reservados e depois compilados para a verificação de erros.
Tank01.High Caracteres em negrito indicam nomes de objetos do E3 ou
suas propriedades.
Expressões entre os sinais < > devem ser substituídas pelo
nome do objeto em questão.
! Expressões entre colchetes indicam nomes de teclas.
Quando estiverem acompanhadas de um sinal +, você deve
pressionar a segunda tecla enquanto pressiona a primeira.
! "
A Elipse Software tem orgulho de apresentar sua mais nova e moderna ferramenta
para supervisão e controle de processos, o E3. Totalmente voltado à operação em
rede e aplicações distribuídas, o E3 é um sistema SCADA (Supervisory Control and
Data Acquisition) que oferece um avançado modelo de objetos, uma poderosa
interface gráfica, além de uma nova e exclusiva arquitetura que permite o rápido
desenvolvimento de aplicações e máxima conectividade com dispositivos e outros
aplicativos. Sua concepção incorpora as mais novas tecnologias em
desenvolvimento de software, maximizando o desempenho, a produtividade e a
qualidade de suas aplicações e do próprio processo, minimizando perdas e custos.
Os sistemas construídos com o E3 geralmente partem da coleta de dados em
tempo-real de equipamentos de aquisição de dados e/ou controle, como os PLCs
(Controladores Lógicos Programáveis), UTRs (Unidades Terminais Remotas),
DAQs (Placas de Aquisição de Dados), controladores “Multi-Loop” ou
“Single-Loop”, centrais de incêndio e balanças, dentre outros dispositivos. Estes
equipamentos normalmente possuem alguma interface que permitem sua conexão ao
software, como padrões seriais RS232, RS422 ou RS485; rádio ou modem (linhas
privadas ou discadas), TCP/IP ou UDP/IP, placas ligadas diretamente no barramento
do computador e outros. O E3 lê e escreve dados dos equipamentos através de
módulos (drivers de comunicação) que implementam o protocolo (de domínio
público ou privado) disponível em cada um destes equipamentos. Estes drivers
podem ainda estar em um formato próprio da Elipse Software ou no formato OPC
(OLE for Process Control).
De posse dos dados, você poderá criar várias maneiras para exibir, analisar,
controlar, comandar, gravar ou divulgar tais informações, dentre elas:
a) Telas: permitem criar uma IHM (Interface Homem-Máquina) localmente, pela
rede local ou Internet, com o intuito de exibir o status atual ou passado dos dados em
várias formas, com o auxílio de um editor gráfico e objetos específicos;
b) Alarmes e Eventos: monitoram o acontecimento de situações específicas;
c) Históricos: armazenam os dados em bancos de dados relacionais;
d) Relatórios: permitem visualizar e imprimir os dados, dentre outros módulos e
possibilidades.
Introdução 11
E3 – Manual do Usuário
! " # !
O E3 foi desenvolvido inicialmente para a plataforma Microsoft Windows® 2000 e
XP, utilizando alguns recursos disponíveis somente nestes sistemas operacionais. A
interface gráfica com o usuário pode ainda ser executada nos sistemas Windows®
9X/NT/2000/Me/XP ou ainda através da Internet ou intranet via Internet Explorer®.
As funções básicas do software estão divididas em módulos independentes, capazes
de processar atividades específicas. O gerenciamento do tráfego de informações
entre os módulos é coordenado por um módulo principal (E3 Server), utilizando a
tecnologia de objetos distribuídos, permitindo que os componentes possam ser
executados tanto na mesma máquina quanto em outros computadores.
Em linhas gerais, o E3 é composto de um núcleo (Kernel) responsável por unir e
coordenar o trabalho de vários outros módulos, que também são servidores de
informações. A partir daí são geradas as interfaces gráficas com o usuário,
disponíveis através dos clientes, tanto locais como pela Internet.
O E3 possui três programas principais, que são:
" #$ #: É o Servidor de Aplicações, onde os principais processos são
executados, incluindo a comunicação em tempo-real com os equipamentos de
controle. O servidor também é responsável por enviar dados e Telas aos clientes
conectados em qualquer parte da rede (Intranet e Internet). O servidor pode executar
vários projetos ao mesmo tempo e conversar com outros E3 Server para realizar um
fail-over (standby) ou distribuir cargas de processamento entre as máquinas. Foi
desenvolvido para ser executado sobre os sistemas operacionais Windows 2000 e
Windows XP.
" %& : Ferramenta única de configuração, agindo como plataforma universal
de desenvolvimento, que possui um ambiente moderno e amigável, incluindo um
completo editor gráfico e de scripts (VBScript). Permite que um projeto seja editado
por várias pessoas ao mesmo tempo ou que vários Studio estejam conectados ao
mesmo servidor remoto, com múltiplas configurações.
" $ ' #: O Viewer permite operar as aplicações residentes no servidor em
qualquer computador com o programa executável Viewer (Windows 98, NT, Me,
2000 e XP) ou com um navegador de Internet. Em ambos os casos, não é necessário
instalar a aplicação na máquina cliente, pois todos os componentes (Telas,
bibliotecas, controles ActiveX) serão baixados e registrados automaticamente.
12 Introdução
E3 – Manual do Usuário
$ !% ! &'
Para supervisionar um determinado processo com um sistema SCADA, geralmente
construímos uma aplicação que conterá a definição das variáveis envolvidas, com
nomes e endereçamentos, telas, definições de alarmes e outros, a que chamamos de
“Banco de Dados da Aplicação”.
Quando esse processo exige o uso de dois ou mais computadores, precisamos fazer
com que cada aplicação em cada computador troque dados com as outras. A maioria
dos sistemas SCADA tradicionais se baseiam numa arquitetura comum para realizar
essa tarefa:
• Cada servidor SCADA deveria ter uma cópia (parcial ou não) da aplicação
configurada na base de dados local;
• Cada servidor SCADA possui e executa somente uma base de dados ao mesmo
tempo.
Isto nos leva a alguns problemas de gerenciamento, como aplicar mudanças a todos
os servidores, controlar versões do aplicativo ou então trabalhar com diferentes
fabricantes de software e hardware.
O Elipse E3 resolve este problema usando o conceito de Domínio, que inclui em um
único ambiente, a definição dos computadores executando tarefas de tempo real
(servidores) e as bases de dados de projeto que devem ser executadas nesses
servidores, com a possibilidade de execução de vários projetos em cada servidor.
Você também pode inserir, deletar ou modificar projetos durante a execução, sem
afetar as outras partes do Domínio em execução.
Cada projeto pode conter qualquer tipo de objeto, como Telas, Drivers I/O, Alarmes
e Históricos, Relatórios, Fórmulas, Bancos de Dados, dentre outros. Quando dois ou
mais projetos estão dentro de um mesmo Domínio, eles podem acessar as
propriedades e objetos entre si como se estivessem residentes em uma única base de
dados. Isto é possível através do uso de associações (conexões) que um objeto pode
fazer com qualquer outro – se ambos os objetos existem e estão rodando, a conexão
está ativa e qualquer mudança de valor é enviada assincronamente entre as partes
(dependendo do tipo da conexão). Se um dos objetos é destruído ou parado, a
conexão é quebrada – então a aplicação “sabe” disso e pode indicar o estado numa
forma definida pelo usuário.
A estrutura do domínio é restrita aos servidores e afins, como as máquinas
servidoras, projetos, usuários e senhas. A interface do cliente para operação e
visualização, chamada E3 Viewer, pode se conectar diretamente a qualquer E3
Server (com as licenças suficientes de Viewer).
Introdução 13
E3 – Manual do Usuário
) * ! + ,%
1
Deverão ser tomados cuidados com políticas de segurança para o envio de comandos pela Internet,
para evitar riscos potenciais ao expor o sistema. Algumas características devem ser configuradas na
aplicação para evitar tais riscos, mas depende também das regras das empresas onde tais sistemas são
instalados.
14 Introdução
E3 – Manual do Usuário
) * ! + ,% ! !
- !. !
Introdução 15
E3 – Manual do Usuário
' /! . 0
A arquitetura interna do E3 é totalmente escalável, com cada tarefa principal sendo
executada por um serviço separado. Abaixo temos uma visão geral dos principais
blocos.
16 Introdução
E3 – Manual do Usuário
1 & ! ! .
Cada célula é composta por um E3 Server operando isoladamente ou dois E3 Server
em configuração de dual standby. Cada Viewer, de fato, se conecta a um domínio ao
invés de somente um servidor.
Depois da conexão, servidor e cliente trocam informações e verificam a existência
de objetos do sistema registrados e atualizados na máquina-cliente. Caso negativo, o
servidor carrega as definições dos objetos como bibliotecas do usuário, conforme a
necessidade para abrir cada uma das telas.
Do ponto de vista do cliente, o download começa na primeira tela (interface gráfica),
incluindo quaisquer objetos internos que serão salvos em um diretório de cache. Este
processo pode levar alguns segundos, dependendo da aplicação, mas traz mais
benefícios na próxima vez que se entra na mesma tela, pois o Viewer realiza um
cache em disco e em memória. Se o programa Viewer não for fechado, a partir da
segunda vez que uma tela for aberta (e não for reconfigurada) ela já estará criada em
memória, reduzindo, portanto o tempo de paginação. Se a tela for modificada, o
Viewer deverá fazer um novo download, reiniciando o processo.
Depois de abrir uma tela, o servidor e o cliente trocam somente dados em tempo real
e consultas ao Banco de Dados num sistema de mensagens TCP/IP, com uma alta
desempenho se comparado ao “Terminal Services”, dependendo da aplicação. Isto é
possível porque enquanto o E3 Viewer recebe e envia apenas valores e dados em
tempo real, um cliente dos “Terminal Services” envia mensagens de teclado e
movimentos de mouse e recebe imagens, o que gera um tráfego muito maior de
informações. Um Viewer conectado a um domínio isolado pode obter informações
residentes somente dentro do servidor ativo, de acordo com os direitos de acesso do
usuário.
2 3
Os pacotes disponíveis do E3 são os seguintes:
2 &'
Pacote de Configuração, sem limitações de número de pontos de comunicação.
Permite executar o domínio durante 6 horas e possui uma licença de visualização
(E3 Viewer) para efeitos de teste nos projetos que estão sendo desenvolvidos.
Introdução 17
E3 – Manual do Usuário
2$ ! ! &'
O servidor E3 (E3 Server) pode ser adquirido em versões com 100, 300, 1500, 5000
e ilimitados pontos de I/O*, e já inclui uma licença de E3 Viewer. Além disso, na
mesma cópia podem ser incluídas licenças do E3 Studio (versões Master) e licenças
adicionais do E3 Viewer, permitindo que mais usuários possam operar o sistema
simultaneamente. O controle das licenças do E3 Viewer fica no E3 Server, de modo
que não é necessário utilizar nenhum dispositivo de proteção nas máquinas rodando
o E3 Viewer, somente na máquina rodando o E3 Server.
21 ! ! 5 ( 67
Tanto os servidores E3 normais como os Back-End possuem licenças específicas
para utilização em arquiteturas redundantes ou Hot-StandBy. Estas licenças possuem
um controle específico e são um “espelho” da configuração principal, incluindo o
número de pontos de I/O*, licenças de E3 Viewer, drivers e add-ons.
22 . ! "
Sem a utilização de uma licença, o E3 pode ser executado em modo de
demonstração, útil para avaliação do software. Neste caso, o E3 Studio tem a
limitação de não salvar uma pasta de drivers com mais de 20 tags, e de permitir o
uso somente da primeira figura de cada categoria da biblioteca de símbolos. No E3
Server, é disponibilizada uma licença de driver e é permitida a execução do domínio
por até 2 horas. Além disso, as opções de configuração de Hot-Standby e execução
como serviço ficam desabilitadas.
18 Introdução
$ $ &'
Figura 3: Ícone do E3
E3 Studio 19
E3 – Manual do Usuário
$ . !8
Quando o E3 Studio é iniciado, o sistema abre uma caixa de diálogo com algumas
opções do projeto. Ao iniciar o E3 Studio, aparecerão três opções de trabalho:
20 E3 Studio
E3 – Manual do Usuário
$$ ! -! 6 9
O E3 Studio já vem com uma série de Menus e Barras de Ferramentas configurados,
que são mostrados ao se executar o E3 Studio pela primeira vez. Ao utilizar uma
interface gráfica mais moderna, similar a programas como o Office 2000, os Menus
e Barras de Ferramentas podem ser modificados pelo usuário. Quando não existe
uma aplicação aberta, a tela apresenta menos opções habilitadas na Barra de Menu e
Barra de Ferramentas, mas sua aparência permanece a mesma.
A figura abaixo mostra a aparência do E3 Studio após a criação de um novo projeto.
E3 Studio 21
E3 – Manual do Usuário
$' :/ ! "
O E3 permite personalizar alguns recursos do Studio, tais como Barra de
Ferramentas, teclado, menus, mouse, etc.
$' !;
Para personalizar a aparência do Studio, é necessário acessar o Menu Visualizar—
Personalizar. As opções disponíveis deste item são as seguintes:
+, .: Através desta opção, podemos definir os ícones de cada uma das
Barras de Ferramentas. Para tanto, basta clicar sobre o ícone do campo Comandos e
arrastá-lo para dentro da Barra de Ferramentas desejada.
22 E3 Studio
E3 – Manual do Usuário
E3 Studio 23
E3 – Manual do Usuário
24 E3 Studio
E3 – Manual do Usuário
E3 Studio 25
E3 – Manual do Usuário
26 E3 Studio
E3 – Manual do Usuário
$'$ ! :/ !
Pode-se configurar o Editor de Scripts do E3, bem como outras opções dos arquivos
do domínio, através do Menu Ferramentas—Opções, onde se tem acesso à janela
de configurações abaixo:
+, : Este item é destinado à configuração do Editor de Scripts do E3:
E3 Studio 27
E3 – Manual do Usuário
Nota: Feche os editores de scripts abertos para que as modificações sejam aplicadas.
+ : Habilita/desabilita a opção Ignorar verificação de CRC.
.
arquivo. Isso pode ser causado por falhas diversas de hardware: memória, rede,
dispositivo de armazenamento, etc.
Porém, se um projeto criado na versão atual é modificado numa versão inferior a
1.00.019 build 203, o CRC não é atualizado. Com isso, o arquivo não poderá ser
aberto novamente com as versões atuais, pois a verificação de CRC irá falhar –
mesmo que o arquivo não esteja realmente corrompido. Para solucionar esta questão,
é necessário habilitar a opção Ignorar verificação de CRC. Assim, o projeto
poderá ser aberto numa versão atual.
Neste caso, a opção deverá permanecer habilitada até que todos os objetos editados
na versão antiga tenham sido salvos com a versão atual – o que irá atualizar o CRC.
NOTA: Não é recomendável que arquivos .prj sejam editados em versões mais
antigas do E3 e depois abertos novamente em versões atuais, pois não há garantia de
que com este procedimento não serão perdidas as configurações desses arquivos.
E3 Studio 29
E3 – Manual do Usuário
& > : Através desta opção, é possível executar ou fechar o domínio. Para
configurar as opções deste domínio, utilize o item Opções.
( 0. : Através desta opção é possível visualizar todas as licenças disponíveis do
sistema e do projeto em andamento. Tal recurso disponibilizará informações sobre o
programa em execução, o computador que está utilizando-o, usuário, o tempo de
execução, etc.
: Esta opção mostra informações em tempo real sobre o estado dos
servidores do domínio.
+ 0 : Habilita/Desabilita executar o E3 Server como serviço.
Maiores informações sobre configurações de Domínio podem ser encontradas no
capítulo Domínios.
$1 0 !! < !! .
A Barra de Ferramentas do E3 muda conforme existência de uma aplicação aberta
ou não. Os botões da Barra de Ferramentas permitem que você execute determinadas
tarefas rapidamente, sem usar os menus. Desta forma, você pode criar Objetos de
Tela ou chamar o Organizer simplesmente pressionando um botão. A tabela abaixo
mostra as opções disponíveis nas Barras de Ferramentas do E3 Studio:
30 E3 Studio
E3 – Manual do Usuário
E3 Studio 31
E3 – Manual do Usuário
32 E3 Studio
E3 – Manual do Usuário
>
/ ( . Insere objeto do tipo polígono de curvas.
&.
)@ Insere objeto do tipo Display.
Insere objeto do tipo SetPoint.
.
( Insere objeto do tipo Escala.
E3 Studio 33
E3 – Manual do Usuário
34 E3 Studio
E3 – Manual do Usuário
$1 ) !: ! .
Verifica erros de configuração em todo o domínio, como objetos com o mesmo
nome, associações ilegais, etc. Em caso afirmativo, o sistema mostra uma caixa de
diálogo indicando os erros encontrados no domínio.
Enquanto o erro não for solucionado, a caixa de diálogo continuará sendo mostrada
e não será possível executar o Viewer. Após a resolução do problema, o sistema
mostrará uma caixa de mensagem indicando que não encontrou nenhum erro no
domínio e liberará a execução do Viewer.
E3 Studio 35
E3 – Manual do Usuário
$ 1 $ 3! ! != 6 !
A ferramenta Procurar busca no domínio (inteiro ou em parte), por ocorrências de
um determinado texto. No final da busca, é apresentado ao usuário uma lista de
resultados, indicando o objeto onde a ocorrência foi encontrada, a localização dentro
deste objeto (se é uma propriedade, associação, etc.), e o texto que contém a
ocorrência.
A ferramenta Substituir substitui as ocorrências encontradas por outro texto
especificado.
36 E3 Studio
E3 – Manual do Usuário
NOTA: Para selecionar o objeto e mostrar o local exato onde o texto se encontra,
basta um duplo-clique na lista de resultados, na linha desejada.
E3 Studio 37
E3 – Manual do Usuário
$1' . " !
A ferramenta Documentação de Scripts serve para auxiliar o usuário na
organização e documentação dos scripts da aplicação.
Esta ferramenta pode ser acessada de duas maneiras:
38 E3 Studio
E3 – Manual do Usuário
Arquivo de documentação
Na janela Arquivo de documentação, são definidas as informações referentes ao do
arquivo que guardará os scripts da aplicação.
No item Nome do arquivo, especifique o nome do arquivo onde será gerada a
documentação dos scripts. Especifique o local onde este arquivo será salvo no item
Salvar o arquivo na pasta, e caso haja necessidade, utilize o botão [ ( ].
Filtro
Na janela Filtro, é possível selecionar os objetos cujos scripts serão documentados.
Habilite a opção “Apenas nos objetos selecionados” para indicar somente os
objetos cujos scripts você deseja documentar, ou habilite a opção “Todos os objetos
do E3”, para documentar os scripts de todos os tipos de objeto do E3.
Pastas, projetos e bibliotecas não aparecem na lista por não possuírem scripts. A lista
de objetos contém apenas os objetos que podem ser “filhos” de projetos ou
bibliotecas, como Telas, Drivers, XControls, etc.
E3 Studio 39
E3 – Manual do Usuário
Detalhamento do arquivo
A janela Detalhamento do arquivo permite que você formate o arquivo que contém
as informações de scripts. É possível escolher entre uma documentação simplificada,
contendo apenas os nomes dos scripts, ou uma documentação completa, onde todo o
código dos scripts será gravado no arquivo.
40 E3 Studio
E3 – Manual do Usuário
E3 Studio 41
E3 – Manual do Usuário
<TelaInicial.CommandButton1:CommandButton1_Click()>
Sub CommandButton1_Click()
...
End Sub
e
<Tela1.CommandButton1:CommandButton1_Click()>
Sub CommandButton1_Click()
...
End Sub
Isto permite a identificação correta de cada script.
Clique no botão [+ 0 ] para ir à próxima janela.
Separador de scripts
Na janela Separador de scripts, é possível definir o texto que será gravado entre
um script e outro no seu arquivo de documentação. É possível escolher entre linhas
em branco ou personalizadas, e ainda informar quantas linhas do tipo escolhido
serão inseridas no arquivo.
Você pode optar entre uma Linha em branco ou uma Linha personalizada.
Escolhendo a opção “Linha em branco”, o arquivo de documentação terá uma linha
42 E3 Studio
E3 – Manual do Usuário
E3 Studio 43
E3 – Manual do Usuário
$11 >! !
A ferramenta Relatório de versões permite a visualização das versões e comentários
dos projetos e bibliotecas abertos, pertencentes ou não ao domínio. Para acessar esta
ferramenta, basta clicar no botão Relatório de versões da Barra de Ferramentas
Padrão, que a caixa de diálogo abaixo será mostrada.
44 E3 Studio
E3 – Manual do Usuário
NOTA: Estes campos são apenas de visualização, não sendo permitida edição.
$12 ? 9? *
A ferramenta WatchWindow permite a visualização do valor corrente de qualquer
propriedade ou tag em tempo de execução no Studio. Para acessar esta ferramenta,
deve-se clicar no botão WatchWindow da Barra de Ferramentas Padrão ou
acessar o menu Ferramentas—WatchWindow, que a caixa de diálogo abaixo será
mostrada:
E3 Studio 45
E3 – Manual do Usuário
46 E3 Studio
E3 – Manual do Usuário
$2 !/ @!
O Organizer permite uma visão simples e organizada de toda a aplicação, ajudando
na edição e configuração de todos os objetos envolvidos no sistema através de uma
árvore hierárquica de opções.
No Organizer, tem-se a visão de todos os projetos que estão abertos para edição
(pertencentes ou não ao domínio corrente). Sua estrutura pode ser comparada à
árvore de diretórios do Windows Explorer. Desta forma, sua estrutura começa por
um projeto ou biblioteca, e seus objetos-filho seguem abaixo.
Por sua vez, cada objeto pode conter itens filhos, que podem ser visualizados através
da expansão de seus elementos. Ao navegar pela estrutura da aplicação, várias
opções serão apresentadas para edição dos objetos, seja através do uso do botão
esquerdo ou direito do mouse.
Ao clicar em um objeto com o botão esquerdo, suas propriedades poderão ser
visualizadas e editadas através da Lista de Propriedades, se esta estiver habilitada.
Clicando com o botão direito do mouse sobre o nome do projeto, no Organizer, as
seguintes opções são disponibilizadas:
E3 Studio 47
E3 – Manual do Usuário
$2 < 9 !
Fecha o projeto corrente.
$2$ @ !
Atualiza as configurações do projeto.
$2' ! .
Abre uma caixa de diálogo para que o projeto seja salvo no local indicado.
Para utilizar este recurso, siga estes procedimentos:
48 E3 Studio
E3 – Manual do Usuário
$21 :! /. !
Desfragmenta arquivos (.lib ou .prj), isto é, faz com que os espaços que são criados
desnecessariamente (exclusão de itens do sistema, importação de arquivos, inclusão
de recursos, etc.) sejam retirados, dando dinamismo ao sistema.
Para utilizar este recurso, siga estes procedimentos:
$ 2 2 3! "
Protege o conteúdo de um arquivo .prj ou .lib contra a edição, visualização ou
execução não-autorizada.
Maiores informações sobre esta opção no capítulo Segurança.
$2A 3
Cria uma nova pasta no sistema. A pasta funciona como uma divisão lógica para o
projeto, facilitando a visualização de sistemas de grande porte.
Para utilizar este recurso, siga estes procedimentos:
E3 Studio 49
E3 – Manual do Usuário
$2B !!
Através deste recurso é possível inserir no projeto os objetos disponíveis E3.
$2C !! !
Através desta opção, é possível inserir no projeto os diversos módulos disponíveis e
registrados. Isso porque cada projeto pode conter somente as funcionalidades
desejadas pelo usuário ou que estiverem disponíveis naquela máquina, evitando
eventuais “overheads” de processamento. Além disso, permite que novos módulos
sejam desenvolvidos e adicionados dinamicamente.
Para utilizar este recurso, siga estes procedimentos:
50 E3 Studio
E3 – Manual do Usuário
$2D 5 6 != 6 ! !8
Habilita ou desabilita o projeto selecionado.
Para utilizar este recurso, siga estes procedimentos:
Clique com o botão direito do mouse sobre o nome do projeto que deseja
desabilitar no Organizer e selecione a opção Desabilitar projeto.
Observe que o nome e ícone do projeto aparecerão na cor cinza, indicando
que o projeto está desabilitado.
Para habilitar o projeto novamente, clique com o botão direito do mouse
sobre o mesmo e escolha a opção Habilitar projeto.
$ 2 E ) !: ! !8
Verifica os erros ocorridos somente no objeto selecionado e em seus filhos.
Maiores informações sobre esta opção na subseção Verificar Domínio.
$2 != . ! .
Adiciona ou remove o projeto do Domínio.
Para utilizar este recurso, siga estes procedimentos:
$ 2 $ 3! ! != 6 !
Busca por trechos de texto no projeto e os substitui por outros, se for o caso.
Maiores informações sobre esta opção na subseção Procurar/Substituir.
$2 ' . ! !=&+ ! !
Auxilia o usuário na importação e exportação de objetos, associações e coleções.
Maiores informações sobre esta opção na seção Importação e Exportação.
E3 Studio 51
E3 – Manual do Usuário
$2 1 . ! !
Auxilia o usuário na organização e documentação dos scripts da aplicação.
Maiores informações sobre esta opção na subseção Documentação de Scripts.
$2 2& !
Muda uma ou mais associações feitas na aplicação de forma mais rápida que pela
janela tradicional.
Maiores informações sobre esta opção no capítulo Associações.
$2 A != !
Copia/Cola associações de um objeto para o outro. A segunda opção só é mostrada
se o que estiver copiado na área de transferência do Windows for uma associação.
Se mais de um objeto estiver selecionado, estas opções estarão desabilitadas. Se a
propriedade em questão já possuir uma associação, é mostrada uma mensagem ao
usuário perguntando se a associação deve ser sobrescrita ou não.
Se as associações copiadas na área de transferência forem coladas em um objeto que
não possua alguma das propriedades, estas serão listadas para o usuário em uma
mensagem informando o problema. As propriedades que existirem terão as
associações criadas corretamente. Associações de propriedades escondidas dos
ElipseX não são copiadas.
$ 2 B 3! !
Abre a Janela de Propriedades do objeto. Quando esta opção é chamada pelo
menu, a primeira aba aberta será a de configurações do objeto.
Mais informações sobre esta opção nos respectivos capítulos dos objetos.
52 E3 Studio
E3 – Manual do Usuário
É possível, então:
• Criar novos objetos do E3 a partir do arquivo CSV, desde que estes não sejam
diretamente objetos-filhos do projeto ou biblioteca;
• Importar/Exportar qualquer propriedade de qualquer tipo de objeto do E3;
• Importar/Exportar qualquer tipo de associação de objetos do E3;
• Exportar qualquer tipo de item de coleção de objetos do E3 e importar suas
propriedades.
Qualquer objeto do E3 poderá ser importado ou exportado. O objeto selecionado
para a operação é chamado de objeto-raiz. Com isso, é possível importar ou
exportar, por exemplo, uma pasta de dados com XObjects definidos pelo usuário, ou
mesmo exportar uma Tela, listando todos os objetos-filhos.
$A !% )
Um arquivo CSV (Comma Separated Values) é um arquivo texto baseado em
colunas separadas por vírgula, ou por outro separador definido. No E3, eles contêm
as informações sobre os objetos que foram exportados, e são utilizados na
importação para que esses objetos sejam criados corretamente no E3 Studio. Cada
coluna do arquivo CSV representa uma ou mais propriedades de objetos do E3.
Cada linha do arquivo representa um objeto, associação ou item de coleção. Para que
esses arquivos sejam utilizados corretamente, é preciso observar alguns detalhes:
• A primeira linha do arquivo CSV deve conter um cabeçalho que identifica as
colunas corretamente;
• O cabeçalho deve ter obrigatoriamente uma coluna que identifica o tipo do
objeto que está sendo importado/exportado. Esta coluna chama-se ,*( @ ).
O valor desta coluna é o nome da classe do objeto (XObject1, DrawRect,
InternalTag, AgSimple, etc.), com exceção das coleções, que apresentam
palavras-chave pré-definidas (ITableBindRow, IAxis, etc.);
• O cabeçalho das demais colunas deve ser o próprio nome da propriedade em
questão;
• As colunas podem ser colocadas em qualquer ordem no arquivo; pode haver
colunas a mais ou a menos, sem prejuízo da operação de importação ou
exportação. A única coluna obrigatória é a ,*( @ ), porque sem ela não é
possível identificar o tipo de objeto que deve ser criado.
E3 Studio 53
E3 – Manual do Usuário
54 E3 Studio
E3 – Manual do Usuário
$A$
Os modelos são arquivos INI utilizados para configurar a ferramenta de importação
e exportação, informando, por exemplo, qual o separador que deve ser utilizado no
arquivo CSV, se as associações dos objetos devem ou não ser exportadas, etc. Os
arquivos INI seguem o seguinte formato:
• Linhas iniciadas por ‘;’ são comentários, desconsiderados na interpretação do
arquivo;
• O arquivo é organizado em seções, e cada seção contém uma ou mais variáveis.
As seções são identificadas por nomes entre colchetes. As variáveis são as
palavras antes do símbolo ‘=’. Uma seção não pode conter duas variáveis com o
mesmo nome;
• Linhas em branco são ignoradas.
E3 Studio 55
E3 – Manual do Usuário
5
/ Define configurações adicionais para a ferramenta de importação
e exportação. Nesta seção deverão ser definidas as variáveis
.) , , M , ( ( , ,*( )( e
, )( .
@
). Relaciona os identificadores de tipos de dados com as classes de
objetos reais. Cada identificador listado na variável @
).que não
for igual a um nome de classe de objeto deverá estar
documentado nesta seção, sendo criada uma variável para cada
um dos identificadores.
. Relaciona os identificadores de nomes de colunas com os nomes
de propriedades. Cada identificador listado na variável
que não for igual a um nome de propriedade deverá estar
documentado nesta seção, sendo criada uma variável para cada
um dos identificadores.
2 Define quais as classes de objetos que deverão ou não ser
importadas ou exportadas. Nesta seção deve ser definida uma das
duas variáveis: ( ou - ( . Se ambas forem definidas,
apenas ( será considerada.
@
). Define os identificadores para os tipos de dados permitidos no
arquivo CSV. Os identificadores deverão ser listados nesta
variável separados por vírgulas. Só é necessário definir essa
variável se algum identificador for diferente do nome da classe
do objeto. Neste caso, para cada um deverá haver também
uma variável na seção @ ). .
.) Define o separador que será utilizado para delimitar as colunas
no arquivo CSV. Caso esta variável não seja definida, será
utilizado o separador de listas configurado no Windows.
Define se o objeto-raiz será exportado ou importado junto com
os objetos-filhos. Caso esta variável não seja definida, o
objeto-raiz não será utilizado.
M Define se as associações dos objetos serão exportadas ou
importadas. Caso esta variável não seja definida, as
56 E3 Studio
E3 – Manual do Usuário
NOTA: O caractere ‘;’ não pode ser utilizado como nome ou parte do nome da
coluna, nem tampouco como nome ou parte do nome do identificador de tipo. Esta
limitação se deve ao fato de o ‘;’ definir um comentário no arquivo ini. Desta forma,
a variável criada na seção .ou na seção @ ) .para definir o identificador
que possui o ‘;’ não pode ser lida corretamente.
E3 Studio 57
E3 – Manual do Usuário
Exemplo:
[Header]
header=ObjectType,Name,DocString,N1/B1,N2/B2,N3/B3,N4/B4,Scan,
AllowRead,AllowWrite
types=Tag,Bloco,Elemento
[Configuration]
separator=','
root=true
link=true
collection=true
objectduplicated=askalways
bindduplicated=askalways
[Types]
Tag=IOTag
Bloco=IOBlock
Elemento=IOBlockElement
[Columns]
N1/B1=N1,B1
N2/B2=N2,B2
N3/B3=N3,B3
N4/B4=N4,B4
[Filter]
exclude=IOFolder
A Elipse Software fornece alguns modelos para importação e exportação de alguns
tipos de objetos. Esses modelos também podem ser utilizados como base para a
criação de outros. Os modelos fornecidos estão na pasta installpath\Templates.
$A' # ! ! .
O Gerenciador de Modelos é uma ferramenta para auxiliar o usuário na criação de
um arquivo INI para ser utilizado na importação ou exportação de objetos do E3.
Para acessá-lo, basta clicar na opção Importar/Exportar, e uma vez aberta a janela
da opção, clique no botão [ 5/ ]. Caso o usuário já tenha carregado um
modelo, os valores iniciais das opções nas abas da janela serão de acordo com o que
já estiver previamente configurado. As abas disponíveis são:
58 E3 Studio
E3 – Manual do Usuário
E3 Studio 59
E3 – Manual do Usuário
60 E3 Studio
E3 – Manual do Usuário
E3 Studio 61
E3 – Manual do Usuário
+, 2 . : Através desta opção, o usuário pode escolher quais as classes que serão
utilizadas na importação/exportação, ou quais classes não deseja utilizar.
62 E3 Studio
E3 – Manual do Usuário
E3 Studio 63
E3 – Manual do Usuário
64 E3 Studio
E3 – Manual do Usuário
E3 Studio 65
E3 – Manual do Usuário
66 E3 Studio
E3 – Manual do Usuário
E3 Studio 67
E3 – Manual do Usuário
68 E3 Studio
E3 – Manual do Usuário
Na exportação, é gerado um arquivo CSV com uma linha para cada objeto
exportado. Se tiver sido selecionada a opção de exportar o objeto-raiz, será gerada
uma linha a mais para este objeto, contendo suas propriedades, exceto o nome, que
permanece em branco. Nos demais casos, contém a hierarquia com nomes separados
por pontos.
Exemplo de exportação a partir de um IODriver.
E3 Studio 69
E3 – Manual do Usuário
ObjectType;Name;Prop1;Prop2;Prop3
IODriver;;0;True;0
IOBlock;Bloco1;0;False;0
IOBlockElement;Bloco1.Elemento1;0;False;0
IOBlockElement;Bloco1.Elemento2;0;False;0
IOBlock;Bloco2;0;False;0
IOBlockElement;Bloco2.Elemento1;0;False;0
IOTag;Tag1,0,True,0
Na importação, para cada linha lida do arquivo CSV é identificado o objeto que será
criado. Apenas o filho mais ao final da hierarquia pode ser criado. O restante do
caminho deve existir. Por exemplo, no objeto “Pasta1.Pasta2.Tag”, apenas “Tag”
deve ser criado. “Pasta1” e “Pasta2” devem existir previamente. Assim, é permitido
ter no arquivo apenas pastas, sem filhos. O arquivo poderá ter linhas como essa:
ObjectType;Name
IOFolder;Pasta1
No caso específico da importação de tags no Viewer, onde não são permitidas
pastas, se a linha no arquivo tiver um nome de Tag no formato “Pasta.Nome”, o tag
será ignorado porque a pasta não será encontrada.
As linhas em branco, as linhas onde não é encontrado um identificador de tipo
válido, as colunas em branco e as colunas que tenham nomes inválidos de
propriedades são ignoradas, sem gerar erro.
70 E3 Studio
E3 – Manual do Usuário
E3 Studio 71
E3 – Manual do Usuário
72 E3 Studio
E3 – Manual do Usuário
• +/ ) : Reverse, Bidirectional;
• + / : SrcHiValue, SrcLoValue, DstHiValue, DstLoValue;
• + : BlinkOn, BlinkOff, OnValue, OffValue, BlinkOnValue,
BlinkOffValue.
Todas as associações são importadas/exportadas, independente da seleção de
propriedades que o usuário tenha feito. Se uma associação para determinada
propriedade já existir, o usuário será questionado sobre o que fazer. Caso contrário,
elas serão criadas.
E3Chart1.Pens.Pena1
Na coluna de tipo deve aparecer uma das seguintes palavras-chave:
• &.
) , para Penas do E3Chart;
• / , para Legendas do E3Chart;
• , para Eixos do E3Chart;
+-.
• , # 7, para linhas das associações por tabela.
74 E3 Studio
E3 – Manual do Usuário
$B 3! !
A Lista de Propriedades é uma caixa de configuração das propriedades do objeto
selecionado.
O título da Lista de Propriedades mostra sempre o nome do objeto selecionado no
momento. Para que esta caixa esteja visível no projeto, é necessário que a opção
Lista de Propriedades esteja marcada no menu Visualizar.
$C # !7
Coleção de objetos gráficos que podem ser arrastados e inseridos nas Telas das
aplicações. Estes objetos são arquivos do tipo Metafiles (WMF: Windows
MetaFile).
E3 Studio 75
E3 – Manual do Usuário
$D 0! * !
O AppBrowser é uma ferramenta que auxilia o usuário a montar a aplicação
informando uma expressão lógica, uma associação ou um valor para a propriedade
sendo manipulada, de acordo com o objeto selecionado. Assim, é possível minimizar
os erros durante a criação da aplicação.
No quadro à esquerda são mostrados os objetos do E3 que podem ser utilizados para
compor o texto que será o resultado do uso do AppBrowser. De acordo com seu
contexto de utilização, alguns objetos não poderão ser utilizados e nem serão
mostrados aqui.
No quadro à direita são mostrados as propriedades e os métodos do objeto
selecionado, e abaixo uma breve descrição da propriedade ou do método
selecionado.
Mais abaixo é mostrado o texto resultante do AppBrowser, ao lado dos botões
[ ]e[ ( ]. Pressione [ ] para aceitar o resultado e copiar o valor para
o local desejado. Pressione [ ( ] para ignorá-lo.
NOTAS:
$D 0! * ! ! ! . !
Para utilizar o AppBrowser a partir de um script, basta abrir a view de scripts
desejada e clicar no botão da barra de ferramentas de scripts. Neste modo, os
objetos estão separados da seguinte maneira:
E3 Studio 77
E3 – Manual do Usuário
No quadro à esquerda:
• o primeiro item, mostrado isoladamente, é o contexto. O objeto-contexto é o que
originou a chamada ao AppBrowser, ou seja, o dono do script;
• o segundo item é a hierarquia completa para se chegar ao objeto-contexto, caso o
contexto não esteja na raiz do projeto. Esse objeto pode ser expandido e o
próprio objeto-contexto pode ser visto nesta hierarquia;
• caso o contexto não seja um objeto do servidor, o terceiro item mostrado será o
Viewer(Application);
• o quarto item é o Servidor; nele são listados todos os objetos do servidor que a
aplicação possui.
• finalmente, o quinto item é chamado de Tarefas. Nele aparecem as tarefas mais
comuns de serem executadas através de um script. São duas: Carregar
relatório (cujo resultado do AppBrowser é a expressão para carregar um
relatório) e Abrir tela (cujo resultado é a expressão para abrir a Tela
selecionada; equivale ao pick Abrir Tela).
78 E3 Studio
E3 – Manual do Usuário
$ D$ 0! * ! ! ! . "
Para acessar o AppBrowser a partir de uma associação, basta abrir a Janela de
Propriedades, selecionar a aba Associações, logo após a propriedade desejada, e
finalmente clicar no botão [ ] que aparece à direita. O AppBrowser é aberto e os
objetos são apresentados da seguinte maneira:
Neste caso, apenas as propriedades dos objetos são mostradas no quadro à direita da
janela. Seus métodos não são mostrados pois não é permitido usá-los em
associações.
$ D' 0! * ! ! ! . ! !
Algumas propriedades permitem o uso do AppBrowser para auxiliar no
preenchimento correto do valor esperado. Estas propriedades, quando selecionadas,
mostram um botão [ ] à direita do campo Valor da Lista de Propriedades.
Pressionando esse botão, o AppBrowser é chamado mostrando apenas os objetos
que podem ser usados como valor da propriedade selecionada. As propriedades e
métodos destes objetos são omitidas. É o caso, por exemplo, da propriedade
DBServer do objeto Fórmula. O AppBrowser mostra apenas os objetos do tipo
Banco de Dados existentes na aplicação.
E3 Studio 79
E3 – Manual do Usuário
80 E3 Studio
' ' .
E3 Server
O E3 Server é o coordenador de todos os outros módulos do E3. É simbolizado por
no System Tray.
E3Run
O E3Run é o processo responsável pela execução dos objetos do servidor: Tags,
Alarmes, Banco de Dados, Históricos, etc.; ou seja, todos os objetos exceto as Telas
e o objeto Viewer.
A execução do E3Run é simbolizada por um ícone no system tray, de acordo com a
tabela abaixo:
IOServer
O IOServer é o processo responsável pela execução dos Drivers de Comunicação.
Cada driver roda em um IOServer separado. Os IOServers são criados, mantidos e
monitorados pelo processo E3Run.
Domínio 81
E3 – Manual do Usuário
E3 Studio
O E3 Studio é o ambiente de desenvolvimento e configuração de aplicativos.
Permite abrir ou editar arquivos .prj e .lib. O E3 Studio é multi-usuário, isto é, vários
Studios podem modificar os mesmos arquivos ao mesmo tempo.
Viewer
O Viewer é a interface com o usuário em tempo de execução, pois mostra as Telas
em execução e permite a operação do sistema. O Viewer pode ser executado a partir
de qualquer ponto da rede que tenha acesso ao E3 Server sem a necessidade de
copiar o aplicativo para os outros Viewers, pois as Telas e bitmaps são carregadas
conforme a necessidade em tempo de execução.
' . .
Um Domínio é constituído dos seguintes arquivos:
82 Domínio
E3 – Manual do Usuário
'$ ! . .
Existem duas maneiras de se criar um Domínio no E3:
• Através do Menu Arquivo—Novo Domínio. Para isso, é necessário que ao
menos um projeto ou biblioteca esteja aberto. Ao selecionar esta opção, o E3
abre uma caixa de diálogo para a escolha do caminho e do nome do novo
Domínio.
Domínio 83
E3 – Manual do Usuário
'$ &'
O Assistente de Aplicações do E3 é a ferramenta utilizada para criar um novo
Domínio com um projeto ou uma biblioteca.
Esta opção pode ser acessada das seguintes maneiras:
84 Domínio
E3 – Manual do Usuário
Tipo de Aplicação
Nesta tela pode-se escolher entre a criação de uma aplicação padrão, uma biblioteca
de componentes do E3 ou uma aplicação em branco.
Uma Aplicação padrão é aquela cujo projeto possui pelo menos um objeto Viewer,
uma Tela e um Servidor de Dados, tendo ainda a opção de inserir, com a ajuda do
assistente, um Driver de Comunicação, um Banco de Dados, um Servidor de
Alarmes e uma Configuração de Alarmes.
Uma Biblioteca de componentes do E3 é um arquivo utilizado para guardar
diversos componentes que podem ser utilizados em aplicações.
Uma Aplicação em branco é um projeto criado sem nenhum objeto.
No item Nome da aplicação, especifique o nome do arquivo .prj ou .lib que está
sendo criado (de acordo com o que foi escolhido na opção anterior). O local onde a
aplicação será salva é especificado no item Salvar a aplicação na pasta; caso seja
necessário, utilize o botão [ ( ].
Domínio 85
E3 – Manual do Usuário
Caso a pasta informada não exista, o usuário é avisado, e deve decidir se deseja criá-
la.
Domínio
Nesta tela é possível decidir o Domínio ao qual o projeto ou biblioteca sendo criado
pertencerá. A habilitação da opção Adicionar no domínio ativo é condicionada a
existência de domínios ativos no sistema; clicando nesta opção, o novo projeto fará
86 Domínio
E3 – Manual do Usuário
parte do atual domínio. A opção Criar um novo domínio cria um novo domínio, ao
qual o projeto ou biblioteca pertencerá. O nome deste novo domínio é indicado na
opção Entre com o nome do domínio. Por fim, com a opção Não adicionar em
nenhum domínio, o projeto ou biblioteca criado continuará sem pertencer a nenhum
domínio.
Driver de comunicação
Nesta tela o usuário pode decidir pela inclusão de um objeto Driver de Comunicação
no projeto ou biblioteca sendo criado. Caso positivo, é possível configurar o arquivo
.dll que este driver utiliza, na opção Arquivo do driver de comunicação. Para
procurar o arquivo, utilize o botão [...].
Domínio 87
E3 – Manual do Usuário
NOTA: esta tela não é mostrada caso o usuário tenha escolhido a opção Aplicação
em branco.
Banco de Dados
Nesta tela o usuário pode decidir pela inclusão de um objeto Banco de Dados no
projeto ou biblioteca sendo criado. Caso positivo, é possível configurar o arquivo
.mdb que este Banco de Dados utiliza, na opção Nome do arquivo de banco de
dados Access. Para procurar o arquivo, utilize o botão [...].
88 Domínio
E3 – Manual do Usuário
NOTA: esta tela não é mostrada caso o usuário tenha escolhido a opção Aplicação
em branco.
Alarmes
Nesta tela o usuário pode decidir pela inclusão de um objeto Servidor de Alarmes e
de um objeto Configuração de Alarmes no projeto ou biblioteca sendo criado. A
opção Desejo guardar os dados de alarme em disco habilita o armazenamento de
informações relativas a alarmes em disco, desde que um banco de dados tenha sido
inserido no projeto.
Domínio 89
E3 – Manual do Usuário
NOTA: esta tela não é mostrada caso o usuário tenha escolhido a opção Aplicação
em branco.
Após, o sistema mostra a tela final do Assistente, com uma mensagem que indica a
final do processo de criação da aplicação.
90 Domínio
E3 – Manual do Usuário
'' :/ ! .
O Domínio pode ser configurado:
• Através da Barra de Ferramentas Padrão;
• Através dos menus do E3 Studio;
• Através dos menus de contexto;
• Através do System Tray.
'' :/ ! . 6 !! : !! .
Para configurar o Domínio via Barra de Ferramentas, o E3 Studio dispõe de alguns
botões na Barra de Ferramentas Padrão.
Domínio 91
E3 – Manual do Usuário
''$ :/ ! . . &'
O Domínio também pode ser acessado através dos menus do E3 Studio. Acessando
o menu Arquivo—Novo Domínio, é possível criar um novo Domínio, e adicionar
os projetos e bibliotecas abertos a ele, se necessário. Para abrir um Domínio e
carregar seus projetos e bibliotecas no E3 Studio, acesse o menu Arquivo—Abrir
Domínio; para fechá-lo, acesse o menu Arquivo—Fechar Domínio. Através do
menu Arquivo—Usuários, o E3 Studio abre uma caixa de diálogo para
configuração dos usuários e permissões de acesso ao Domínio.
''' :/ ! . . +
Para acessar as configurações de um projeto ou uma biblioteca via menu de
contexto, é necessário clicar com o botão direito no nome do projeto ou biblioteca
no Organizer.
Através da opção Adicionar ao Domínio, é possível adicionar o projeto ou
biblioteca à lista de projetos ou bibliotecas do Domínio, respectivamente. No caso
de projetos, se o Domínio estiver em execução, o projeto adicionado é executado
imediatamente.
Para remover o projeto ou biblioteca do Domínio, utiliza-se a opção Remover do
Domínio. No caso de projetos, se o Domínio estiver em execução, o projeto é
automaticamente parado.
Ainda no caso específico de projetos, a opção Habilitar projeto habilita o projeto
para execução; para desabilitá-lo é utilizada a opção Desabilitar projeto. Quando
esta opção é selecionada, o projeto fica em modo manutenção. Se o Domínio estiver
em execução, o projeto é parado imediatamente.
''1 :/ ! . 7 . -! 7
92 Domínio
E3 – Manual do Usuário
Domínio 93
E3 – Manual do Usuário
I, .,0
1 Permite que o Domínio seja distribuído em rede,
isto é, em mais de um servidor. Se a opção for
desabilitada, o Domínio é executado no servidor
em que foi carregado, sem suporte a Hot-Standby.
Se a opção for habilitada, é possível selecionar um
servidor principal onde o Domínio será executado
e, opcionalmente, um servidor em espera.
) () Seleciona o nome do servidor principal para
execução do Domínio. Para cadastrar e configurar
os servidores, utilize a página de Servidores.
,(M) Se habilitado, seleciona um servidor de backup
para execução do Domínio. Este servidor fica em
espera, com o aplicativo carregado no E3Run
pronto para executar caso o servidor principal
falhe, ou caso o servidor de backup seja ativado
manualmente.
0) 3 O algoritmo de Hot-Standby exige que seja
/ declarada uma terceira entidade de rede (as outras
duas são os servidores principal e backup) para
determinar se a rede está funcionando. Se não for
possível acessar o endereço de integridade nem o
servidor de backup, o servidor principal assume
que a sua interface de rede está com problemas e
termina imediatamente a execução do Domínio.
+ ,(M) ( . Habilita a troca automática de servidores quando
5 ( uma falha local é reportada no servidor principal.
Falhas locais são detectadas e reportadas pelo
próprio aplicativo através da função
Application.ReportFailure. A troca de servidores
só é feita se o servidor de backup estiver sem
falhas.
)) 0
1 Permite indicar o tempo de ativação para o
. . servidor de backup. O valor padrão é 15 segundos.
Este tempo afeta diretamente o timeout do ping
entre os servidores. Se for muito abaixo (troca em
1 segundo, timeout de ping em 160 ms), podem
ocorrer trocas espontâneas de servidor causadas
por pequenas falhas de rede.
5 )N= 0
1 Apresenta os seguintes perfis de pré-ativação
. . disponíveis:
Mínimo: Ativa apenas os serviços básicos;
94 Domínio
E3 – Manual do Usuário
Domínio 95
E3 – Manual do Usuário
'1 &' ! !
O E3 Server é o coordenador de todos os outros módulos do E3. É simbolizado por
um ícone no system tray . O E3 Server é responsável por:
• Verificar e gerenciar licenças de uso dos diferentes módulos do E3;
• Iniciar/Parar/Monitorar o processo de runtime (E3Run) do Domínio;
• Abrir/Editar/Manipular arquivos DOM;
• Controlar o acesso de usuários aos objetos do Domínio;
• Monitorar outros servidores do Domínio e implementar o Hot-Standby;
O E3 Server pode trabalhar com apenas um arquivo de domínio por vez, e este é
chamado de “Domínio aberto”. Os arquivos de domínio só são manipulados pelo
E3 Server. Um domínio pode ser aberto pelo E3 Server das seguintes maneiras:
96 Domínio
E3 – Manual do Usuário
O domínio permanece aberto até que outro domínio seja selecionado ou ele seja
fechado.
'1 ! / &'
Nota: Os logs genéricos são atualizados sempre, mesmo que o E3 seja fechado
incorretamente (como no caso de uma falha). Os demais logs são atualizados
periodicamente, sendo que se o E3 não for fechado corretamente, o conteúdo pode
ficar incompleto ou até vazio.
'1$ &' ! ! 9 .
O E3 Server pode ser acessado via linha de comando das seguintes maneiras:
E3 Server <nome_do_domínio> [opções]
ou
E3 Server [opções] <nome_do_domínio>
Domínio 97
E3 – Manual do Usuário
'1' :/ ! / ! .
Através da aba Segurança, é possível determinar as configurações padrão de
segurança do domínio. Esta opção é utilizada como padrão caso não seja habilitada
nenhuma das opções de permissão de segurança nos usuários do projeto. Para
acessar tal item, clique com o botão direito do mouse no ícone do E3 no System
Tray, selecione a opção “Domínio –Opções” e acesse a aba Segurança. A seguinte
janela será mostrada:
98 Domínio
E3 – Manual do Usuário
Domínio 99
E3 – Manual do Usuário
' 1 1 #! ) * !
É possível especificar de acordo com o IP do Viewer se este pode se conectar, e com
qual tipo de licença (Viewer Full ou Viewer Only).
Com este recurso é possível bloquear totalmente a conexão, ou limitar a quantidade
e o tipo de licenças que serão usadas simultaneamente para um determinado grupo
de IPs.
Para acessar os grupos de Viewers, clique com o botão direito do mouse no ícone do
E3 no System Tray, selecione a opção Domínio–Opções, e acesse a aba Grupos de
Viewers. A seguinte janela será mostrada:
100 Domínio
E3 – Manual do Usuário
É importante notar que estes limites são aplicados após o limite do E3 Server, como
configurado na hardkey. Por exemplo, se o hardkey possuir dez licenças de Viewer e
o grupo especificar cinco conexões no máximo, apenas estas cinco serão usadas. No
entanto, se o hardkey possuir cinco licenças de Viewer e o grupo especificar dez
conexões no máximo, serão utilizadas o limite de cinco conexões do hardkey. Ou
seja, o grupo de Viewer terá sempre uma limitação de licenças adicional a ser
aplicada na conexão do Viewer.
Domínio 101
E3 – Manual do Usuário
'12 :/ ! / ! & .
Os eventos dividem-se em duas categorias: Eventos Padrão do Sistema e Eventos
Manuais.
Eventos Manuais
São eventos definidos pelo aplicativo. Estes eventos são gerados em scripts de
usuário, através da chamada do método Application.TrackEvent. Estes eventos
podem ser gerados tanto no Viewer como no Servidor (E3Run).
O Viewer é apenas um gerador de eventos manuais. Basta chamar o método
Application.TrackEvent, e o evento será enviado para o E3 Server.
102 Domínio
E3 – Manual do Usuário
Esquema de Funcionamento
O diagrama abaixo mostra como os diferentes processos do E3 geram e tratam os
eventos do sistema:
Cada E3 Server mantém uma lista interna dos eventos que devem ser registrados no
Banco de Dados. Estes eventos podem vir de três fontes:
• Eventos gerados nos Viewers (usando o método Application.TrackEvent);
• Eventos gerados internamente no E3 Server;
• Eventos gerados no E3 Server +3& O.
Domínio 103
E3 – Manual do Usuário
104 Domínio
E3 – Manual do Usuário
Domínio 105
E3 – Manual do Usuário
Se o E3Run tiver que escolher entre vários Servidores de Dados, normalmente será
utilizado o primeiro Banco de Dados ativado na execução do domínio (o que está
mais acima na árvore do Organizer). Se durante a execução do domínio, o usuário
desabilitar o projeto que contém o Servidor de Dados que estava sendo usado para
gravar os eventos, o E3Run automaticamente escolherá outro Servidor de Dados que
esteja disponível no aplicativo, e continuará com este Servidor de Dados até que
outro Servidor de Dados anterior seja reativado. Isto implica que, se houver mais
que um Servidor de Dados no projeto, é possível que alguns eventos sejam gravados
em um Servidor de Dados e outros eventos em outro Servidor de Dados (por isto, é
recomendado indicar um Servidor de Dados específico, quando houver mais que um
Servidor de Dados no projeto).
Quando um evento é selecionado na lista e o Botão [28] é pressionado, abre uma
caixa de diálogo para edição do evento. A seguinte janela é mostrada:
106 Domínio
E3 – Manual do Usuário
As macros sempre tem o formato %macro%. As seguintes macros podem ser usadas:
• %%: Insere um sinal de % na mensagem;
• %USER%: Insere o nome do usuário que gerou o evento (ou “Anônimo”, se
não houver nenhum usuário logado);
• %MACHINE%: Insere o nome do computador onde o evento foi gerado;
• %SESSION%: Insere o nome do programa onde o usuário estava logado
(“Viewer”, “Studio” ou “E3 Server”);
• %CAUSE%: Informação adicional sobre o evento.
Por exemplo, se a mensagem do evento “Falha de Login” for alterada para:
Se o usuário “Admin” escrever uma senha errada enquanto fizer login no Viewer
que está rodando na máquina CLIENT004, será gerado o seguinte evento:
Domínio 107
E3 – Manual do Usuário
Login de usuário
Usuário %User% logou no %SESSION% na máquina %MACHINE%
Gerado sempre que ocorrer um login bem sucedido de um usuário no Studio ou no
Viewer, onde:
• %USER% contém o nome de login do usuário.
• %SESSION% contém “Viewer” ou “Studio”.
• %MACHINE% contém o nome do computador onde o usuário está logado.
Logout de usuário
Usuário %User% terminou a sessão de uso de %SESSION% na máquina
%MACHINE%
Gerado sempre que ocorrer um logout de um usuário no Studio ou no Viewer (ou
quando o programa é fechado sem dar logout, neste caso, o logout é automático),
onde:
• %USER% contém o nome de login do usuário.
• %SESSION% contém “Viewer” ou “Studio”.
• %MACHINE% contém o nome do computador onde o usuário estava logado.
Troca de senha
A senha do usuário %USER% foi alterada.
Gerado sempre que a senha de um usuário for trocada (chamando a função
ChangePassword no Viewer), onde:
• %USER% contém o nome de login do usuário que teve a senha trocada.
Falha de Login
O login do usuário %USER% no %SESSION% na máquina %MACHINE% falhou:
%CAUSE%
Gerado sempre que falhar o login de um usuário no Viewer ou no Studio, onde:
• %USER% contém o nome de login informado.
• %SESSION% contém “Viewer” ou “Studio”.
• %MACHINE% contém o nome do computador onde o usuário tentou logar.
• %CAUSE% pode ser: “login ou senha incorretos”, “conta desabilitada”, “conta
bloqueada”, “senha expirada” ou “erro 0xnnnnnnn”.
108 Domínio
E3 – Manual do Usuário
Conta bloqueada
A conta do usuário %USER% foi bloqueada.
Gerado sempre que a conta de um usuário é bloqueada por excesso de logins
errados, onde:
• %USER% contém o nome de login do usuário que teve a conta bloqueada.
Domínio iniciado
Domínio iniciado pelo usuário %USER% no %SESSION% na máquina
%MACHINE%
Gerado sempre que o domínio é iniciado (colocado em execução), onde:
• %USER% contém o nome de login do usuário que colocou o domínio em
execução (ou “Anônimo” se não foi pedida autenticação quando o domínio foi
executado).
• %SESSION% contém “Studio” ou “E3 Server (menu do SystemTray)”;
• %MACHINE% contém o nome do computador onde foi gerado o comando de
executar o domínio.
Domínio finalizado
Domínio finalizado pelo usuário %USER% no %SESSION% na máquina
%MACHINE%
Gerado sempre que o domínio é parado, onde:
• %USER% contém o nome de login do usuário que parou o domínio (ou
“Anônimo”, se não foi pedida autenticação quando o domínio foi parado).
• %SESSION% contém “Studio” ou “E3 Server (menu do SystemTray)”.
• %MACHINE% contém o nome do computador onde foi gerado o comando de
parar o domínio.
Domínio 109
E3 – Manual do Usuário
Domínio atualizado
Domínio atualizado pelo usuário %USER% no %SESSION% na máquina
%MACHINE%
Gerado sempre que o domínio é atualizado pelo botão [P PP] do Studio, isto é, quando
são aplicadas no E3Run as alterações feitas em PRJs e LIBs, onde:
• %USER% contém o nome de login do usuário logado no Studio (ou
“Anônimo”, se não há nenhum usuário logado).
• %SESSION% contém “Studio”;
• %MACHINE% contém o nome do computador onde o Studio estava rodando.
Domínio modificado
Domínio modificado pelo usuário %USER% no %SESSION% na máquina
%MACHINE%: %CAUSE%
Gerado sempre que o arquivo do domínio (.DOM) é modificado, onde:
• %SESSION% contém o nome do usuário que alterou o domínio;
• %MACHINE% contém “Studio” ou “E3 Server”;
• %CAUSE% pode ser:
“Aplicadas alterações na janela do computador de edição do
domínio”;
Adicionado projeto ‘nomedoprojeto’ (habilitado);
Adicionado projeto ‘nomedoprojeto’ (desabilitado)
Removido projeto ‘nomedoprojeto’
Desabilitado projeto ‘nomedoprojeto’
110 Domínio
E3 – Manual do Usuário
'1A :/ ! 3! 8 .
A página de projetos permite adicionar, remover e editar os projetos (PRJ) de um
domínio. Utilize esta opção para selecionar um ou mais projetos a alterar. Para
acessar tal item, clique com o botão direito do mouse no ícone do E3 no System
Tray e selecione a opção Domínio – Opções - Projetos.
Domínio 111
E3 – Manual do Usuário
'1B :/ ! ! !
A página de projetos permite adicionar, remover e editar os servidores de um
domínio. Use a lista da esquerda para selecionar um ou mais servidores a alterar. A
lista indica também se o projeto está habilitado ( ) ou em
manutenção/desabilitado( ).
Para acessar tal item, clique com o botão direito do mouse no ícone do E3 no System
Tray, selecione a opção Domínio – Opções - Servidores. A seguinte janela será
mostrada:
112 Domínio
E3 – Manual do Usuário
Domínio 113
E3 – Manual do Usuário
114 Domínio
E3 – Manual do Usuário
'1C
Você também pode visualizar as licenças via E3 Server. Para acessar tal item, clique
com o botão direito do mouse no ícone do E3 no System Tray e selecione a opção
Licenças. A seguinte janela será mostrada:
Domínio 115
E3 – Manual do Usuário
'1D !
A caixa de diálogo Monitor mostra informações em tempo real sobre o estado dos
servidores do domínio. Para acessar tal item, clique com o botão direito do mouse no
ícone do E3 no System Tray, selecione a opção Monitor.
116 Domínio
E3 – Manual do Usuário
'1 E
Esta opção permite habilitar a execução do E3 Server como serviço. Assim, é
possível iniciar automaticamente o domínio através do caminho especificado.
Para acessar tal item, clique com o botão direito do mouse no ícone do E3 no System
Tray, selecione a opção Avançado. A seguinte janela será mostrada:
Para parar o E3 Server quando este está sendo executado como serviço existe a
opção Parar E3 Server, disponível no menu pop-up somente quando a primeira
opção da janela acima tiver sido marcada. Ao ser acionada esta opção, é pedida a
confirmação da parada, e se confirmada é parado e fechado o domínio, e
desconectados todos Studios e Viewers (caso existam).
Domínio 117
E3 – Manual do Usuário
'2 !
A opção Conectar a... é utilizada para determinar a conexão do servidor, que pode
ser local ou em rede, e a licença de uso do Studio, que pode ser do servidor do
domínio ou outro. Para utilizar este recurso, é necessário acessar o menu Arquivo -
Conectar a..., e a caixa de diálogo é aberta:
118 Domínio
E3 – Manual do Usuário
Domínio 119
E3 – Manual do Usuário
A janela "Conectar a..." é aberta para permitir conectar ao servidor local ou a outro
servidor da rede. A conexão com um servidor remoto faz com que uma licença do
E3 Studio seja consumida no servidor remoto. O hardkey local não é utilizado
quando a conexão é remota. O título do E3 Studio informa o nome do servidor
conectado e também indica se está rodando em modo demo.
DICA: Quando o usuário conectar a um servidor, é importante que os aplicativos
sejam abertos através de um caminho na rede. Em vez de usar
"C:\projetos\projeto.dom" utilize "\\server\projetos\projetos.dom". Desta forma, o
Studio e o E3 Server remoto poderão acessar os arquivos utilizando o mesmo
caminho.
120 Domínio
1 1 ! !
1 ! ! . "
O Driver de Comunicação é o módulo do E3 que possibilita a comunicação com
um determinado equipamento usando arquivos .dll. Estes drivers são desenvolvidos
pela Elipse Software, bem como por terceiros, a partir de um DDK (Driver
Development Kit), fornecido pela Elipse, em linguagem C/C++. Cada driver
implementa uma família de equipamentos ou protocolos diferentes de acordo com o
tipo de equipamento ou protocolo de comunicação. Novos drivers são
costumeiramente desenvolvidos pela Elipse Software.
Para inserir um Driver de Comunicação no projeto, clique com o botão direito do
mouse no nome do projeto e selecione o item Inserir—Driver de Comunicação.
Drivers 121
E3 – Manual do Usuário
5
/ Acessa a janela de configurações extras do driver.
122 Drivers
E3 – Manual do Usuário
1 :/ ! " ! ! . "
Para determinar o driver de comunicação a ser usado, clique na propriedade
DriverLocation. Uma caixa de seleção para a determinação do arquivo .dll que
contém a comunicação será exibida, conforme a figura abaixo.
Teste de Comunicação
Ao configurar um driver de comunicação, o usuário pode realizar um procedimento
de teste a fim de verificar se os valores estão corretos e sendo atualizados sem
problemas. Ao clicar no Driver de Comunicação, é aberta a opção Ativar
Comunicação.
Desta forma, o driver de comunicação especificado será carregado e os valores das
variáveis poderão ser visualizados no campo $ de cada tag na view de edição.
Caso algum dos tags possua a propriedade AllowRead em Falso, ou ainda se o tag
não possuir um valor a ser reportado, esta linha aparecerá com a cor cinza.
Drivers 123
E3 – Manual do Usuário
1 $ < . ! ! . "
O IOServer é o módulo do E3 responsável pela comunicação com o equipamento. É
no processo do IOServer que é carregada a .dll do driver e efetuada a comunicação
com o equipamento.
Os Tags de Comunicação possibilitam a leitura e/ou escrita de um conjunto de
valores, utilizando o Driver de Comunicação, onde eles estão inseridos. Podem ser
utilizados também os Blocos de Comunicação para a leitura simultânea de mais de
uma variável. Para acessar cada valor do bloco utilize o Elemento de Bloco, que
pode ser incluído dentro do objeto. Estes objetos serão discutidos nas seções
seguintes.
Em tempo de execução, o E3 cria um IOServer para cada driver de comunicação.
Baseado no tempo de varredura (propriedade Scan) de cada tag, o driver irá
requisitar periodicamente o valor de cada um. Sempre que o valor ou a qualidade do
tag for alterado, seu valor será repassado para o driver de comunicação.
A verificação do tempo de ciclo de cada variável é feita de forma seqüencial. Caso o
ciclo de uma variável esteja “vencido”, o IOServer prosseguirá com o
questionamento de seu valor, passando para a próxima variável até que a verificação
de toda a planilha esteja completa, para então retornar ao topo para uma nova
varredura.
Pode-se reservar um tempo de ciclo menor para as variáveis com necessidade de
atualização mais veloz, e um tempo de ciclo maior para as variáveis sem tanta
prioridade de atualização. Deve-se ressaltar, entretanto, que a performance da
comunicação depende de uma série de fatores, incluindo o tipo de equipamento, o
tipo de interface da comunicação utilizada, velocidade (baud-rate), taxa de erros, etc.
Sempre que o E3 enviar uma solicitação de atribuição de valores para uma ou mais
variáveis, esta solicitação será executada com prioridade em relação à varredura dos
tags.
No caso de falha de um IOServer, o E3 automaticamente realizará uma
reinicialização daquele módulo, de forma a normalizar seu funcionamento. Por outro
lado, o IOServer irá interromper seu funcionamento caso não exista nenhum E3
Runtime (Principal ou Standby) para receber seu dados.
Através da propriedade ShareServer, é possível compartilhar o mesmo IOServer
entre vários drivers de comunicação. O primeiro driver a ser executado será o
responsável por iniciar os procedimentos de comunicação, como abrir uma porta
serial ou iniciar uma interface de comunicação. Os próximos drivers de
comunicação compartilhados utilizarão o mesmo IOServer aberto pelo primeiro, o
124 Drivers
E3 – Manual do Usuário
Drivers 125
E3 – Manual do Usuário
126 Drivers
E3 – Manual do Usuário
Para obter mais informações sobre quais equipamentos possuem esta característica,
entre em contato com o fabricante. Para saber quais drivers ou tipos de variáveis
dentro dos equipamentos utilizam a estampa de tempo, consulte a ajuda dos drivers
ou diretamente o suporte técnico da Elipse Software.
Lista de valores
Além do envio da estampa de tempo, os drivers de comunicação também suportam o
envio de listas de valores para os tags. As listas são uma seqüência de valores para
um mesmo tag de comunicação ou bloco de comunicação, que são informadas numa
mesma leitura.
Alguns exemplos de utilização para a lista de valores são a coleta de variações
rápidas de um tag digital, por exemplo, através da utilização de SOE (Sequence of
Events – Seqüência de Eventos), que estão armazenadas em um equipamento tipo
PLC ou RTU (Remote Terminal Unit) ou ainda na leitura de tabelas de dados onde
estão armazenados dados de telemetria, como nos exemplos abaixo:
Drivers 127
E3 – Manual do Usuário
1 ' 3 . "
Define grupos e subdiretórios de forma a organizar as variáveis. Cada pasta pode ser
renomeada conforme a necessidade e novas pastas podem ser inseridas dentro de
outras. Para utilizar este recurso, siga estes procedimentos:
128 Drivers
E3 – Manual do Usuário
1 1 - / . "
O Tag de Comunicação possibilita a leitura/escrita de um conjunto de valores
utilizando o driver de comunicação. É utilizado para definir a troca de informação
com os equipamentos de aquisição, que consistem em uma única variável
independente.
O Tag de Comunicação pode ser uma variável analógica, entrada, saída, contador,
ponto digital, etc. Vários pontos digitais podem ser agrupados no tag e serem
acessados através de suas propriedades, como bits de dados. Os Tags de
Comunicação são configurados através de uma série de parâmetros N (N1 a N4),
que variam de acordo com o driver de comunicação a ser utilizado.
Para utilizar este recurso, siga estes procedimentos:
Drivers 129
E3 – Manual do Usuário
Caso o equipamento sendo utilizando para coletar os dados informe valores de tags
que precisam ser convertidos, pode-se utilizar as escalas dos tags que são
basicamente uma especificação de uma conversão linear entre duas bases diferentes.
Para isto, deve-se habilitar a propriedade EnableScaling do tag e informar os
parâmetros & ( 7 e & ( I/ (através das respectivas propriedades), que
seriam os limites inferior e superior do dado vindo do equipamento, além de
informar os parâmetros % 7e %I/ (através das respectivas propriedades) que
são os limites inferior e superior do dado já em unidades de engenharia.
Algumas das propriedades deste objeto podem ser configuradas diretamente na Lista
de Propriedades, sem a necessidade de criar scripts para isto. Demais informações
sobre as funcionalidades das propriedades deste objeto podem ser encontradas no
Scripts: Manual de Referência do E3, em seu capítulo referente.
1 2 0 . "
O Bloco de Comunicação é utilizado para definir a troca de informações com os
equipamentos de aquisição, que consistem de uma ou mais variáveis, desde que seja
consecutivo no endereçamento dentro do dispositivo externo.
A depender do método de comunicação utilizado, podem economizar tempo de
comunicação, obtendo um número maior de atualizações num mesmo intervalo de
tempo se comparado com o Tag de Comunicação. Os Blocos de Comunicação são
configurados através de uma série de parâmetros B (B1 a B4) que variam de acordo
com o driver de comunicação a ser utilizado, além da propriedade Size, que define o
número de elementos ou índices disponíveis no Bloco.
Para utilizar este recurso, siga estes procedimentos:
130 Drivers
E3 – Manual do Usuário
Drivers 131
E3 – Manual do Usuário
1 A & . 0
Os Elementos de Bloco representam as associações de cada uma das posições no
bloco, de forma a serem utilizados como se fossem tags de comunicação. Os
Elementos de Bloco podem “apontar” livremente para cada índice dentro de um
bloco. Podem existir dois Elementos de Bloco apontando para o mesmo índice do
bloco, e também um número menor, igual ou maior de elementos do que o número
de variáveis declaradas no bloco.
Para utilizar este recurso, siga estes procedimentos:
1$ ! ! 3
Além de possuir um cliente OPC (Driver OPC), o E3 funciona também como
Servidor OPC DA (Data Access) 2.0x. Isso permite ao E3 disponibilizar todos
objetos existentes no domínio em execução (tags de IO, etc.) para softwares externos
ao E3. Como exemplos, podemos citar o Elipse SCADA, o E3 (que pode estar
rodando em outra aplicação como cliente), ou um cliente OPC de um fabricante
qualquer – basta o cliente implementar o padrão OPC DA 2.0x.
Características
Para usar o Servidor OPC do E3, não é necessária nenhuma configuração extra,
bastando executar o domínio para que qualquer cliente OPC possa se comunicar
com o E3. Para conectar-se ao servidor OPC do E3 de um cliente qualquer, basta
selecionar o servidor identificado como “Elipse.OPCSvr.1”.
O Servidor OPC permite que qualquer cliente importe facilmente toda a definição de
tags existentes no domínio (função de “Browse”). Naturalmente, os tags
disponibilizados são apenas os objetos que fazem parte do servidor, ou seja, itens de
Tela (Viewer) não são acessíveis pelo Servidor OPC.
Sendo baseado na mesma tecnologia de “associações” usada nas associações
internas entre objetos, o Servidor OPC do E3 permite que clientes usem tags que
sejam expressões matemáticas, e com o recurso de conexão/desconexão transparente
durante a execução.
Drivers 133
E3 – Manual do Usuário
Informações de Status
Através da informação de status (funcionalidade padrão do OPC), o cliente OPC
pode identificar se o servidor do E3 encontra-se sem domínio, em standby ou
rodando normalmente. O status do OPC fica assim:
• Domínio rodando normalmente: OPC_STATUS_RUNNING
• Domínio em standby: OPC_STATUS_SUSPENDED
• Domínio parado ou sem domínio: OPC_STATUS_NOCONFIG
Desconexão
Para os clientes OPC que suportam o mecanismo de desligamento (Shutdown),
sempre é enviado um aviso quando o domínio é parado ou entra em standby. Após
isso, todos os clientes são desconectados.
1' ! ! . " 3
O Driver de Comunicação OPC é o módulo responsável por coletar dados de
equipamentos externos através da execução de um Servidor OPC, que pode ser
fornecido por qualquer empresa. Os tags podem ser importados para o Driver OPC
dentro do E3 (que neste caso atua como um OPC Client) ou ainda podem ser criados
a partir do E3.
Para utilizar um Driver OPC, siga estes procedimentos:
134 Drivers
E3 – Manual do Usuário
Drivers 135
E3 – Manual do Usuário
136 Drivers
E3 – Manual do Usuário
1' :/ ! " ! ! 3
A identificação dos outros objetos pertencentes ao Driver OPC pode ser inserida
manualmente, ou então ser trazida automaticamente do Servidor OPC. Para isso,
acesse as propriedades do driver clicando com o botão direito, e escolhendo a aba
OPC Driver.
Drivers 137
E3 – Manual do Usuário
138 Drivers
E3 – Manual do Usuário
Drivers 139
E3 – Manual do Usuário
140 Drivers
E3 – Manual do Usuário
Através da opção Importar tags, é possível importar tags para o Driver OPC.
Quando esta opção é selecionada, a seguinte mensagem é mostrada:
142 Drivers
E3 – Manual do Usuário
Para fazer a importação, basta selecionar o tag desejado e arrastá-lo para o driver ou
Grupo OPC desejado. Para desativar a comunicação do Driver OPC, basta clicar na
opção Desativar Comunicação.
Algumas das propriedades do Driver OPC podem ser configuradas através da Lista
de Propriedades, sem a necessidade de criar scripts para isto. Caso necessite
configurar alguma propriedade, basta localizá-la na Lista de Propriedades e fazer os
devidos ajustes. Para maiores informações, consulte o Scripts: Manual de
Referência.
Drivers 143
E3 – Manual do Usuário
1 ' $ #! / 3
O objeto Grupo OPC agrupa uma série de tags OPC que compartilham os mesmos
parâmetros de atualização (tempo de varredura e banda morta). É sempre necessário
existir um grupo OPC para poder criar tags OPC.
Para inserir um Grupo OPC, siga estes procedimentos:
Algumas das propriedades do Grupo OPC podem ser configuradas através da Lista
de Propriedades, sem a necessidade de criar scripts para isto. Caso necessite
configurar alguma propriedade, basta localizá-la na Lista de Propriedades e fazer os
devidos ajustes. Para maiores informações, consulte o Scripts: Manual de
Referência.
144 Drivers
E3 – Manual do Usuário
1'' 3 3
O objeto Pasta OPC define grupos ou subdiretórios de forma a melhor organizar as
variáveis. Cada Pasta OPC pode ser renomeada conforme a necessidade, e novas
pastas que podem ser inseridas dentro de outras. Em tempo de execução, se a pasta
OPC for desabilitada, todo o conteúdo será desativado. Para utilizar este recurso,
siga estes procedimentos:
Drivers 145
E3 – Manual do Usuário
1'1 - / . " 3
O Tag OPC é um objeto para leitura e/ou escrita de valores em um equipamento. A
leitura do tag é feita automaticamente pelo Servidor OPC, com tempo de varredura
definido no grupo OPC pela qual ele está inserido. Para utilizar este recurso, siga
estes procedimentos:
Algumas das propriedades do Tag OPC podem ser configuradas através da Lista de
Propriedades, sem a necessidade de criar scripts para isto. Caso necessite configurar
alguma propriedade, basta localizá-la na Lista de Propriedades e fazer os devidos
ajustes. Para maiores informações, consulte o Scripts: Manual de Referência.
146 Drivers
E3 – Manual do Usuário
1'2 0 . " 3
O objeto Bloco de Comunicação OPC possibilita a leitura e/ou escrita de um
conjunto de valores. Para fazer uma escrita, deve-se apenas atribuir um novo valor à
propriedade Value. A leitura do tag é feita automaticamente pelo Servidor OPC com
tempo de varredura definido no grupo OPC. A propriedade Size determina o número
de elementos do tag no servidor. Para utilizar este recurso, siga estes procedimentos:
Drivers 147
E3 – Manual do Usuário
148 Drivers
E3 – Manual do Usuário
1'A & . 0 3
O objeto Elemento de Bloco OPC possibilita a leitura e/ou escrita de um dos
elementos do Bloco OPC onde ele está inserido.
O Bloco OPC lê uma tabela de dados, e este objeto estará sempre associado à
posição definida por sua propriedade Index. Por exemplo, um Elemento de Bloco
OPC com Index igual a 5 e inserido em um Bloco OPC com tamanho 10, cujos
dados lidos sejam os seguintes
, 5 12 77 55 1 3 42 20 8 89
< ( 0 1 2 3 4 5 6 7 8 9
Drivers 149
E3 – Manual do Usuário
11 F
Os campos de qualidade representam o estado de qualidade do valor do item. É
formado de uma palavra de 16 bits, sendo que os primeiros 8 bits são definidos na
forma de 3 campos de bits: Campo Qualidade, Campo Substatus e Campo
Limite.
Os outros 8 bits (de maior ordem) estão disponíveis para uso de cada fabricante. Se
esses bits forem utilizados, os bits de qualidade padrão ainda são utilizados para
indicar quais deduções pode-se fazer sobre os dados retornados. Assim, é de
responsabilidade do cliente interpretar o campo de informações específicas de
qualidade para garantir que o servidor que está provendo essa informação usa as
mesmas “regras” que o cliente.
Um servidor que não suporta informação de qualidade retorna 192 sempre (Bom).
Também é aceitável que um servidor retorne simplesmente Ruim ou Bom (0 ou 192)
e sempre retornar 0 para o Substatus e limite.
150 Drivers
E3 – Manual do Usuário
11 . 6
O layout deste campo depende do valor do campo Qualidade.
Sem Limite
Constante
Baixo
Alto
31 .
)(>
5( O valor é ruim, mas nenhuma 0 1 2 3
razão especifica é conhecida.
Há algum problema de 4 5 6 7
5
/ 0
1 configuração específicos no
servidor. Por exemplo: o item em
questão pode ter sido deletado.
31 ( A entrada deveria estar 8 9 10 11
logicamente conectada a algo, mas
não está. Esta qualidade pode
refletir que não há valor disponível
neste momento, por razões como o
valor pode não ter sido fornecido
pela fonte de dados.
2 Uma falha de dispositivo foi 12 13 14 15
&.). detectada.
2 . Uma falha de sensor foi detectada 16 17 18 19
(o campo Limite pode prover
informação adicional).
Z Comunicação em falha. Entretanto, 20 21 22 23
( ( o ultimo valor conhecido está
disponível. Note que a idade do
valor pode ser determinada pela
propriedade TimeStamp.
2 Comunicações estão em falha. Não 24 25 26 27
( 0
1 há ultimo valor conhecido
disponível.
2 O Bloco está fora de scan ou 28 29 30 31
0 trancado.
3A+ Não usado. 32 - 63
Drivers 151
E3 – Manual do Usuário
Sem Limite
Constante
Baixo
Alto
31 .
)(>
5( Não específico. 64 65 66 67
Z O dispositivo que estava 68 69 70 71
.
E providenciando o valor parou de
fazê-lo. O valor retornado deve ser
considerado “velho”. Note que isso
difere de um valor RUIM com o
Substatus 5 (último valor
conhecido). Aquele estado é
associado com uma falha detectável
de comunicação num valor
buscado.
Este erro é associado com a falha
de alguma fonte externa que iria
inserir algo no valor dentro de um
período aceitável. Note que a idade
do valor pode ser determinada na
propriedade TimeStamp.
31 ? Não utilizado em OPC. 72 – 79
. O Valor está "colado" em um dos 80 81 82 83
) (. limites do sensor (nesse caso o
campo Limite deve estar
configurado para 1 ou 2) ou o
sensor está de algum modo
conhecido fora de calibração via
algum diagnóstico interno (nesse
caso o campo Limite deve ser 0).
% O valor retornado está fora dos 84 85 86 87
/ limites definidos para esse
-
( parâmetro. Note que nesse caso o
valor do campo Limites indica
quais limites foram excedidos, mas
não necessariamente implica que o
valor não possa ir mais além da
faixa especificada.
,=3 O valor é derivado de múltiplas 88 89 90 91
fontes e há um número menor do
que o requerido de fontes boas.
31 ? Não utilizado em OPC. 92 – 127
152 Drivers
E3 – Manual do Usuário
Sem Limite
Constante
Baixo
Alto
31 .
)(>
5( O valor é bom. Não há condições 192 193 194 195
especiais.
31 ? Não utilizado. 196 – 215
20 Tipicamente indica que a entrada 216 217 218 219
( foi desconectada e um valor
entrado manualmente foi forçado.
31 .
)(>
5( Não usado em OPC. 220 - 255
11$ . .
O Campo Limite é válido independentemente dos campos Qualidade e Substatus.
Em alguns casos como uma falha de sensor ele pode prover informação de
diagnostico.
CAMPO LIMITE
ESPECIFICAÇÕES DESCRIÇÃO
31 O valor é livre para mover acima ou abaixo.
5 O valor está limitado em algum valor inferior.
) O valor está limitado em algum valor superior.
. O valor é uma constante e não pode mover-se.
Drivers 153
2 2 ! !
2 3
A Pasta de Dados define grupos e subdiretórios de forma a organizar as variáveis.
Caso haja necessidade, novas pastas podem ser inseridas dentro de outras.
Para utilizar este recurso, siga estes procedimentos:
2$ - / .
O Tag Demo é um objeto que gera valores de acordo com a forma de onda, e é
utilizado para simulação de valores. Permite gerar curvas definidas ou valores
aleatórios, a partir da seleção nos botões que aparecem na janela.
Para utilizar este recurso, siga estes procedimentos:
2' - / !
O Tag Interno é um objeto de propósito genérico, utilizado para guardar valores de
qualquer tipo, incluindo números, textos e até outros objetos. Os valores das
propriedades Quality e Timestamp são sempre atualizados quando a propriedade
Value do Tag Interno é modificada por Script. Nesse caso, Quality sempre assume o
valor 192 (qualidade boa não específica) e Timestamp assume o valor da data/hora
no momento da atribuição em Value. Para permitir a mudança dos valores das
propriedades Value, Quality e Timestamp sem problemas de ordem de atribuição, é
utilizado o método WriteEx. Este método permite modificar o valor, timestamp e
qualidade de um Tag Interno, numa só operação.
Para utilizar os recursos deste objeto, siga estes procedimentos:
21 !
Podem ser inseridos também em um Servidor de Dados outros tipos de dados,
tipicamente objetos COM e os XObjects. Através desses últimos, podemos
instanciar os objetos de dados da biblioteca, especificando e/ou associando cada uma
das variáveis internas do XObject.
Os objetos inseridos no Servidor de Dados serão executados pelo E3 Server,
portanto estarão presentes no Servidor. Os XControls que podem estar fazendo
referência aos XObjects estão sendo executados pelo Viewer, logo estão em outro
programa; porém são automaticamente referenciados e manipulados pelo conjunto
Viewer(s) + Servidor (es).
Para inserir um XObject em um Servidor de Dados, devemos proceder da mesma
forma para os tags acima.
22 /! ! . - /
Ao especificar o nome dos tags, alguns detalhes devem ser levados em conta:
• O nome da variável não pode conter caracteres reservados, como: [], \, /, {}. “.
Esses caracteres são trocados por caracteres de sublinhado” “_”. Assim, o
sistema aplica a seguinte regra:
• Se o 1º- caractere não for uma letra ou caractere de sublinhado, o nome de estar
entre colchetes “[]”;
• Se algum dos demais caracteres (2º- em diante) não for uma letra ou número ou
caractere de sublinhado, o nome também deve estar entre colchetes.
• O nome do tag não pode conter operadores lógicos e aritméticos, tais como: /, .,
etc.;
• O nome do tag não pode ser estritamente numérico.
Telas são janelas para monitoramento de processos, onde são inseridos objetos que
farão a interface do operador com o sistema. Cada aplicação pode ter um número
ilimitado de Telas.
Quadros são objetos para a organização e a estruturação da interface, criando
visualizações compostas para o usuário dentro da janela principal do Viewer ou do
seu navegador.
A -
A Tela é a entidade básica de interface com o usuário que pode conter vários tipos
de objetos. Os gráficos que são inseridos na Tela podem ser deletados, copiados,
movidos, redimensionados, agrupados ou configurados. Na configuração do Viewer,
você pode especificar para que seja visualizado um Quadro ou Tela no momento da
sua inicialização. Para tanto, basta definir no campo Tela ou Quadro Inicial a
opção desejada.
A . -
Os componentes da Tela são os seguintes:
Grade
A Grade serve como referência para o editor gráfico (não aparece em execução),
composta de pontos separados por uma distância configurável.
Com ela, ao inserir, copiar ou editar objetos, as coordenadas iniciais (X, Y) e seu
tamanho (altura, largura) somente serão aqueles possíveis para que o objeto fique
alinhado à grade, tanto horizontal quanto verticalmente.
A Grade pode ser retirada ou inserida através do menu Arranjar ou através do ícone
Zoom
Na edição da Tela, podemos escolher livremente o nível de zoom desejado e mais
confortável para a edição. O zoom está disponível através do Menu Zoom e possui
vários níveis que vão de 10 a 800%, além poder ajustar automaticamente a largura
em "Toda Largura", a altura em "Toda Altura", a página inteira sem alteração do
aspecto largura x altura em "Toda Página" e a página inteira com alteração do
aspecto em "Total".
Camadas
O E3 oferece uma arquitetura de Telas com até 32 camadas para inserção de objetos
gráficos. Cada objeto pode pertencer a uma ou mais camadas, e a Tela ativa tanto em
162 Telas e Quadros
E3 – Manual do Usuário
configuração (no Studio) quanto em execução (no Viewer) podem estar com
nenhuma, uma, várias ou todas as camadas ativas. Isso permite criar sistemas com
várias formas de monitoramento, como por exemplo, a visualização de um processo
apenas com o sistema elétrico, apenas o hidráulico ou ambos. O Viewer pode
também, controlar o aparecimento de camadas a depender de um determinado nível
de Zoom. A configuração das camadas é feita a partir do menu Camadas, ou via
botão direito do mouse clicando sobre a Tela, que a princípio exibe as opções:
Tal configuração também pode ser editada através da Lista de Propriedades, através
da propriedade Layer. Para que um objeto apareça na Tela, a propriedade Layer deve
conter pelo menos 1 bit configurado na mesma posição que a layer da Tela tiver.
Para acessar as opções desta propriedade, basta clicar na mesma na Lista de
Propriedades.
A$ F !
O objeto Quadro é um método para organizar e estruturar a interface do projeto,
criando visualizações compostas para o usuário dentro da janela principal do Viewer
ou do Internet Explorer. Muitas vezes, uma aplicação requer apenas uma Tela
principal, que é a porta de entrada para a aplicação. A partir daí, o usuário pode
navegar por outras Telas, que ocuparão o lugar da primeira, formando uma única
164 Telas e Quadros
E3 – Manual do Usuário
Uma Tela pode ser definida como uma janela para monitoramento de um processo,
onde são inseridos os objetos que farão a interface do operador com o sistema, que
são chamados de Objetos de Tela.
Os objetos de Tela são elementos gráfico e podem ser criados a partir da Barra de
Ferramentas Objetos ou através do Menu Objetos. Uma vez selecionado o objeto
que se deseja criar, mantenha o botão esquerdo do mouse pressionado na área da
Tela, enquanto movimenta o mouse (um retângulo pontilhado mostra o tamanho e a
forma do objeto). Ao soltar o botão, o objeto será posicionado dentro da área
especificada.
Os seguintes elementos podem ser inseridos em uma Tela:
• Primitivas do Editor Gráfico (Retas, Círculos, Retângulos, Polígonos, etc..);
• Controles ActiveX fornecidos pela Elipse (E3Alarm, E3Chart, E3Browser);
• Controles ActiveX fornecidos por terceiros;
• Imagens não vetoriais (Arquivos BMP, JPG, GIF, etc...).
• Imagens vetoriais (Arquivos WMF, EMF, etc).
• Controles Padrão do Windows (Lista, Editor de texto, Lista de seleção, etc.).
Bibliotecas gráficas do E3 (XControl), compostas de qualquer dos objetos
•
acima.
Os objetos gráficos disponíveis no sistema são listados abaixo.
B$ G /
Este objeto permite o desenho de retângulos, utilizando toda a largura/altura do
objeto. Criado a partir de dois vértices, pode ser redimensionado/rotacionado
livremente.
B' G / !!
Retângulo criado a partir de dois vértices com a opção dos cantos serem
arredondados, a partir de um fator de arredondamento. Ao ser inserido ou editado,
exibe um pequeno ponto próximo ao canto superior esquerdo do objeto, que permite
modificar o fator de arredondamento.
B2 ! &
Permite o desenho de objetos do tipo torta, corda ou pizza. Ao ser inserido na Tela, o
objeto exibe dois pontos que indicam a posição da abertura da torta (propriedades
ArcBeginAngle e ArcEndAngle, dadas em graus (0 a 360)).Utilizando também as
propriedades de preenchimento e borda, pode-se customizar melhor o aspecto do
objeto. Modificando o ângulo das propriedades ArcBeginAngle e ArcEndAngle
consegue-se alterar o início e o final do arco.
BA 9 !
Esta ferramenta se destina à criação de áreas irregulares. Para definir os vértices do
objeto, mantenha o botão pressionado, enquanto arrasta o mouse pela Tela. Todos os
caminhos que o ponteiro do mouse percorrer serão criados como parte do objeto.
BC 3 / !
Realiza um desenho praticamente da mesma forma que o polígono, porém a cada
ponto inserido, o objeto criará curvas que passam por todos os pontos criados. Este
objeto permite o desenho de curvas Bezier através de pontos de referência, sempre
juntando o ponto final ao ponto inicial. Após ser inserido na Tela, o objeto será
nomeado como Bezier.
B D </ !
Este objeto permite mostrar imagens que estejam armazenadas em arquivos, estejam
eles dentro ou fora do arquivo do aplicativo.
A figura pode ser redimensionada livremente, porém a rotação só é efetiva, quando
trabalha com metafile convertido para símbolo. Após ser inserido na Tela, o objeto
será nomeado como Figura.
B E - +
Possibilita de criação de um texto. Ao definir a área na Tela, podemos digitar
diretamente os textos desejados, que aceitam também múltiplas linhas.
B 7
Este objeto é utilizado para mostrar os valores dos Tags em tempo real. As
propriedades do Display permitem definir o tamanho, cor, fonte, alinhamento, efeito
3D, etc.
B ' &
O objeto Escala permite desenhar réguas ou escalas de valores. Através de suas
divisões e subdivisões, determinados através das propriedades Ticks e MinorTicks,
são especificadas informações para configuração do objeto.
B 1 :/ ! # !
As configurações gerais dos objetos podem ser acessadas através do botão direito do
mouse que é pressionado sobre o objeto. As opções disponíveis são as seguintes:
B 1 -! !
Ao escolher esta opção, o Studio não permite que o objeto seja movido, evitando
movimentos indesejados. Depois de travado, o mouse exibe um cursor com um
cadeado ao ser deslocado sobre a área do objeto travado.
Para habilitar esta opção, basta clicar com o botão direito do mouse sobre o objeto
desejado e escolher a opção Travar.
Para desabilitar esta opção, basta clicar novamente com o botão direito no objeto e
selecionar a opção Destravar.
B 1$ 3 H !
É definido como as coordenadas (x, y) marcam o ponto inicial do objeto.
Inicialmente, o ponto âncora está atrelado às coordenadas iniciais (X, Y) do objeto.
Para habilitar esta opção, clique com o botão direito do mouse sobre o objeto e
selecione a opção Definir Ponto Âncora. O objeto aparece com o símbolo , de
onde pode ser movido para qualquer lugar da Tela. Ao arrastar o objeto com a nova
âncora, o ponto que foi definido é o que ficará fixado nos pontos da grade, sendo
que o objeto ficará "deslocado" nas mesmas proporções em relação à âncora.
B 1' :/ ! ! . 3 !"
Aplica as definições do objeto que está sendo editado como o estilo padrão para os
próximos objetos que utilizarem a função Aplicar Estilo. Neste estilo estão
incluídas as cores de frente, fundo e borda, espessura da linha, estilo da borda e do
gradiente.
B 11 !&
Aplica as definições de estilo previamente definidas pela opção Configurar como
Padrão. Neste estilo estão incluídas as cores de Frente, fundo e borda, espessura da
linha, estilo da borda e do gradiente.
B 12 ! !I ! !
São as ações básicas de edição dos objetos. Podemos copiar, recortar ou colar
objetos ou componentes do E3 através dos seguintes métodos:
• Podemos copiar objetos de tela ou componentes do E3 pressionando a tecla
[ # ], enquanto arrastamos o item que desejamos até a área da Tela ou
Organizer (no caso do componente do E3).
B 1A !
Remove o objeto da Tela. Pode ser feito também se selecionando o objeto e
pressionando a tecla [& ].
B 1B 3! !
Abre uma janela para a edição das propriedades gerais (e específicas, caso houver)
do objeto em questão. Esta opção é acessada através do clique com o botão direito
do mouse sobre o objeto e selecionando a opção Propriedades.
B 1C . "
A animação é um recurso do E3 fácil e prático para dar movimento a um objeto.
Este recurso está disponível na Barra de Ferramentas Tela.
O ângulo de rotação pode ser visualizado pela propriedade Angle de cada objeto.
Deve-se ressaltar que alguns objetos ActiveX não permitem rotação.
B 1D 6! " 68
Se você possui dois objetos na Tela, e parte de um precisa estar sob ou sobre o outro,
pode-se ajustar a disposição através dos botões:
182 Objetos de Tela
E3 – Manual do Usuário
B 1 E ! . / " ! 68
Ao inserir uma série de objetos na Tela, é possível (em execução), através do uso da
tecla [ ,], se deslocar de um objeto para o outro, como por exemplo, dois
SetPoints. Esta ordem é feita através da opção Ordem dos Tabs . Para utilizar
este recurso, crie os objetos na Tela e selecione a opção Ordem dos tabs . Você
verá que o mouse assumirá um cursor semelhante ao ícone da opção. Clique com o
mouse nos objetos conforme deseja ordenar. Nos objetos, aparecerá o número com a
devida ordem especificada.
Quando o projeto for compilado, a navegação entre estes objetos, tanto do mouse
como teclado, será feita conforme a ordem especificada.
B 1 $ /! 68 68 /!
Ao selecionar um grupo de objetos, podemos transformá-lo em apenas um, através
da opção Agrupar. Com essa opção, será formado apenas um objeto que expõe
propriedades comuns como altura, largura, ângulo, etc., sem mostrar diretamente
para cada um de seus componentes, e podendo copiar, arrastar e deletar um grupo
que todo seu conteúdo será tratado como um único objeto.
Para utilizar este recurso, siga estes procedimentos:
Este recurso permite que os objetos selecionados tornem-se um grupo, fazendo com
que possam ser mudada todas as configurações do mesmo. Ao ser aplicado este
recurso, o sistema dá acesso às propriedades específicas do grupo. Para configurá-
las, siga estes procedimentos:
Após o grupo ser criado, dê um duplo clique sobre o objeto ou clique com
o botão direito do mouse e selecione a opção Propriedades;
Propriedades do Grupo
OPÇÃO DESCRIÇÃO
, Seta ou retorna o Booleano que habilita/desabilita a
alteração da cor original dos objetos contidos no
grupo.
2 Seta ou retorna o número inteiro da cor do
preenchimento para os objetos do grupo.
2 Seta ou retorna o número inteiro do estilo do
preenchimento dos objetos do grupo.
Seta ou retorna o número inteiro da cor da linha para
os objetos do grupo.
Esta operação pode ser feita em cascata, sendo que um grupo pode conter qualquer
objeto inclusive outros grupos. Para desfazer a união de um grupo de objetos,
devemos selecionar a opção Desagrupar.
B 1 ' - !
Para mover um objeto com o teclado, você também pode utilizar as teclas
direcionais, como segue:
• Seta para Cima: Sobe o objeto 1 pixel para cima;
• Seta para Baixo: Desce o objeto 1 pixel para baixo;
• Seta para Direita: Move o objeto 1 pixel para a direita;
• Seta para Esquerda: Move o objeto 1 pixel para a esquerda;
• Seta + Control: Move o objeto 10 pixels a mais.
B 1 1 : . 68
Para modificar a camada de algum objeto, basta selecioná-lo e clicar no campo
"Camadas" visível pela Lista de Propriedades, ou ainda via botão direito do mouse,
selecionando a opção Camadas, quando alguma estiver disponível.
B 1 2 . 6! .
Os objetos gráficos podem ter um efeito de sombra automático, através da Barra de
Ferramentas Sombra, que habilita/desabilita a sombra do objeto. Configurando
esta propriedade para True, o objeto mostrará uma sombra com os mesmos estilos de
preenchimento, fundo e borda, porém com a propriedade ShadowColor, é
especificada a cor do preenchimento da sombra do objeto.
Insira ou selecione o objeto que deseja aplicar a sombra. Você pode alterar
suas propriedades através da barra de atalho ou pela sua caixa de
propriedades.
B 1 A 3! 9.
Cada objeto gráfico pode ter seu conteúdo preenchido de acordo com as opções
disponíveis na propriedade FillStyle, a partir da Lista de Propriedades. São elas:
B 1 C& <
Indica como o objeto exibirá sua segunda opção de cor (Backgroundcolor), o que
pode ser informado pela opção Estilo de Gradiente da Barra de Ferramentas
desenho, ou pela Lista de Propriedades. As opções são Opaco, indicando cores
sólidas e Transparente, indicando opção de transparência com o fundo.
190 Objetos de Tela
E3 – Manual do Usuário
B 1 D0 !
Indica como o objeto exibirá suas extremidades. Podemos definir uma cor para a
Borda, através da opção Cor da Borda da Barra de Ferramentas, ou ainda pela
propriedade BorderColor na Lista de Propriedades.
Podemos escolher ainda entre alguns estilos de borda, pela opção Estilo de Borda
ou na propriedade BorderStyle e ainda a espessura da linha pela opção de mesmo
nome ou propriedade BorderWidth, dada em unidades HIMETRIC.
B 1 $E 3! 9. 3 ! 5 !@ ) !
Esta opção é muito útil para a representação de qualquer tipo de recipiente (tanques,
vasos, reservatórios, etc.) que desejamos indicar o nível do material. Todos os
objetos podem ser preenchidos tanto no sentido vertical quanto horizontal pela cor
de frente (ForegroundColor) em relação à cor de fundo (BackgroundColor).
Isso pode ser ajustado pelas seguintes propriedades, acessadas pela Lista de
Propriedades:
B 1$ < !. " !
Em todas as propriedades de cor do E3, podemos especificar a cor desejada ao
objeto através do clique no campo valor da propriedade ForegroundColor na Lista
de Propriedades.
Quando este botão é pressionado, abre a caixa de diálogo abaixo. Assim, é possível
especificar uma cor para o objeto selecionado, que pode ser uma cor padrão ou
personalizada, caso ela não exista na paleta de cores. A aba Padrão permite escolher
cores padronizadas do sistema, incluindo tonalidades de cinza.
O botão [ ] permite que o usuário selecione uma cor de qualquer parte da tela,
dentro ou fora do E3 Studio. Basta clicar no botão e após clicar sobre a cor desejada
que ela será capturada para a janela de cores.
Já a aba Personalizado permite que o usuário faça suas próprias definições de cores.
A cor pode ser escolhida pela navegação do cursor pelo mapa de cores, com o uso
do mouse. O ponto por onde o mouse passar terá a propriedade de cor refletida nos
campos de cores, que podem ser editados também diretamente pelo teclado.
ou seja
Assim, basta especificar o valor para cada um dos itens, conforme tonalidade da cor
desejada. Essas cores também tem o grau de intensidade que vai de 0 a 255.
B 2 < !. " !
O uso de formatadores permite mudar a forma como os dados são apresentados sem
mudar o valor que existe por trás deles. O formato é um texto que pode ser editado
manualmente ou configurado através da janela de formatação. Seu uso é semelhante
aos formatadores usados nas planilhas de dados, seguindo a mesma sintaxe básica,
mas com algumas extensões. São suportados os seguintes tipos de dados:
• Numéricos (saída decimal, científica, hexadecimal, binária e octal)
• Texto
• Booleanos
• Datas e Horas (calendário Gregoriano)
Em alguns objetos encontramos a opção de formatação de campos, acessada via
menu de propriedades do objeto ou pela Lista de Propriedades, na propriedade
Format.
B 2 < !. 3!J( :
As seguintes formatações estão disponíveis:
Geral
Não há formatação específica, sendo realizada automaticamente a depender do tipo
de dado.
Número
Este formato apresenta números com parte inteira e fracionária, permitindo definir o
número de casas decimais e uso de separador de milhares. Para números muito
grandes ou muito pequenos, utilize o formato científico. Os símbolos de casa
decimal e separador de milhares são aqueles definidos no Windows—Painel de
Controle—Configurações Regionais.
Data
Apresentam valores numéricos (formato Gregoriano) como datas e horas, quando
válidos. Para apresentar somente a hora, sem data, utilize o formato Hora.
Hora
Apresentam valores numéricos (formato Gregoriano) como datas e horas, quando
válidos. Para apresentar somente a data, sem hora, utilize o formato Data.
Científico
Este formato apresenta o número em notação de mantissa e expoente, ideal para
números de magnitude variada, permitindo escolher também o número de casas
decimais e formatos.
Especial
Permite formatar números inteiros em bases não decimais (hexadecimal, octal e
binária).
B 2$ ! < !.
Na opção Outros, podemos criar um formato de dados qualquer, mesmo um dos já
citados, a partir da digitação de um código (texto) de formato.
O texto do formatador é composto de até quatro campos separados por um ponto e
vírgula (;). O primeiro campo é sempre aplicado quando não existir um outro campo
mais apropriado para o valor ou tipo de dado. O segundo campo é utilizado para
valores numéricos negativos. O terceiro campo é utilizado quando o valor numérico
for zero. E o quarto campo é utilizado quando o dado for do tipo texto. Sempre que
mais de um campo for definido, o campo anterior será considerado, mesmo que seja
vazio. No caso de um formatador de campo vazio o valor formatado será sempre um
texto vazio. Note que isso difere do formato geral, que é apenas um formato vazio,
sem o uso dos separadores de campo (;).
B 2'& ! - +
Para inserir caracteres que serão mostrados pelo formatador pode-se colocá-los entre
aspas (“) ou após uma barra”:
Entrada de Texto
FORMATADOR SAÍDA FORMATADA
0#?
Mdy
Isso é válido para todos os tipos de formatadores. Além disso, podem ser criados
formatadores que contenham apenas texto. É possível também combinar isso com os
uso dos diferentes campos. Exemplo:
OBS: Para mostrar a barra (\) ou aspas duplas (") no dado formatado use \\" e \.
Quando entre aspas todo o texto é copiado diretamente logo "\a" é mostrado
simplesmente como \a./
B 2 1 < !. ! . J!
Os formatadores numéricos aceitam três tipos básicos de caracteres para definir o
número de dígitos apresentados:
Formatadores Numéricos
OPÇÃO DESCRIÇÃO
Coloca o dígito significativo ou 0(zero) quando não houver.
Coloca o dígito significativo.
Coloca o dígito significativo ou um espaço quando não houver.
O ponto decimal ' .'define que se deseja apresentar também a parte fracionária de um
número. O caractere no formatador é sempre o ponto ' .'
, mas é apresentado como o
caractere separador (exemplo: vírgula) configurado no sistema (pelo Painel de
Controle do Windows). A vírgula tem duas funções: após os dígitos do formatador,
indica que o valor deve ser divido por mil (para cada vírgula). Independente da
configuração local do Windows, no texto do formatador sempre deve ser usada à
vírgula para indicar o separador de milhar, mas a saída formatada será de acordo
com a configuração regional do sistema. Se colocada na parte à direita do ponto
decimal (parte inteira), juntamente com os dígitos, indica que deve ser usado o
separador de milhar. A vírgula (,) pode ser usada como separador de milhar mesmo
na notação científica, mas não para dividir o número por 1000.
Formatador Científico
O número poderá ser apresentado em notação científica (mantissa e expoente)
quando após algum digito houver E+, E-, e- ou e+, seguidos de dígitos para formatar
o expoente. Quando for usado E+ ou e+ o expoente será sempre mostrado com sinal,
quando for usado E- ou e-, o sinal aparecerá apenas para expoente negativos, sendo
que no expoente sempre será mostrado um dígito mesmo que este seja zero. O
número de dígitos à direita do ponto decimal afeta o expoente mostrado.
Formatador Científico
DADO FORMATADOR SAÍDA FORMATADA
#,#E+# 1.E+0
####e-00 1230 e-01
Exemplos
DADO FORMATADOR SAÍDA FORMATADA
VXYYA
V8A
"V 12:00:00
'& &A A
@@@
@ 18/maio/1903
'& I\ \
.. 999 01:37:45.696 PM
' ] ] .. 999]. 296 h17 m46.667 s
C / ! 68 K &'
Quando o E3 é instalado, alguns objetos ActiveX são automaticamente registrados.
São eles: E3Alarm, E3Browser e E3Chart (desenvolvidos pela Elipse Software);
Microsoft Forms (desenvolvidos pela Microsoft); e ActiveReports (desenvolvido
pela Data Dynamics).
ActiveX 201
Figura 139: Registrando um ActiveX no E3
202 ActiveX
E3 – Manual do Usuário
ActiveX 203
C$ ! 68 K &'
Os objetos gráficos podem ser inseridos na aplicação através do clique com o botão
direito sobre a Tela. Alguns também podem ser inseridos através da Barra de
Ferramentas Objetos, como o E3Alarm, o E3Browser, o E3Chart e os controles
Microsoft Forms.
204 ActiveX
E3 – Manual do Usuário
C' 68 ! : < !.
Abaixo serão descritos alguns objetos da biblioteca Microsoft Forms.
C' + "
Uma Caixa de Seleção dá ao usuário a possibilidade de escolher entre dois valores
tais como Sim/Não, True/False, ou On/Off. Quando o usuário seleciona uma caixa
de seleção, ela indica uma marca especial ( ) e sua configuração atual é Sim, True,
ou On. Se o usuário não selecionar a Caixa de Seleção, ela estará vazia e seu estado
é Não, False, ou Off. Dependendo do valor da propriedade TripleState, uma caixa de
seleção poderá ter um valor nulo.
NOTA: O objeto Lista também permite inserir uma marca de seleção para as opções
desejadas. Dependendo da aplicação, você poderá usar uma Lista em vez de um
várias Caixas de Seleção.
A propriedade padrão é a propriedade Value. O evento padrão é o evento Click.
Para utilizar este objeto, siga estes procedimentos:
ActiveX 205
Quando o Botão de Opções está desabilitado, fica esmaecido e não mostra valor.
A propriedade padrão é a propriedade Value. O evento padrão é o evento Click.
Para utilizar este objeto, siga estes procedimentos:
C'' "
Combina as características de uma Lista e um Editor de Texto. O usuário pode
digitar um valor novo, como no caso de um Editor de Texto, ou selecionar um valor
existente, como em uma Lista de Seleção.
Os itens de uma Lista de Seleção consistem em linhas de dados. Cada linha pode ter
uma ou mais colunas, que podem aparecer com ou sem títulos. Alguns aplicativos
não oferecem suporte a títulos de colunas; outros oferecem apenas suporte limitado.
C'1 0 " .
Executa uma ação específica ao ser pressionado. O procedimento de script atribuído
ao evento Click do botão determina sua ação. Por exemplo, pode-se criar um botão
que abra uma janela. Pode-se também mostrar um texto, um desenho ou ambos com
um Botão de Comando.
C'2 - +
O objeto Texto é utilizado para exibir um texto descritivo, tal como títulos, textos
em geral ou instruções rápidas. Por exemplo, os títulos de um catálogo de endereços
poderiam ser feitos através de um Texto, aos quais seriam atribuídos nomes, ruas ou
cidades.
C'A
Exibe uma lista de valores, que pode ser determinada pelo usuário ou vinculada a
uma fonte de dados.
ActiveX 207
Estilos de Lista
É possível escolher um dos dois estilos de apresentação de uma lista. Cada estilo
fornece diferentes maneiras para a seleção de itens na lista pelos usuários. Este estilo
é escolhido através da propriedade ListStyle.
Se a opção de estilo for Plain, cada item será exibido em uma linha separada; e o
usuário selecionará um item realçando uma ou mais linhas.
Se a opção de estilo for Option, um Botão de Opção ou uma Caixa de Seleção
aparecerá no início de cada linha. Com esse estilo, o usuário selecionará um item
clicando no Botão de Opção ou na Caixa de Seleção. As Caixas de Seleção só
aparecem quando a propriedade MultiSelect estiver configurada para a opção
V=5 ( .
C'B 0 !! / .
A Barra de Rolagem é um controle independente que retorna ou define o valor da
propriedade de outro objeto, de acordo com a posição da caixa de rolagem. Sua
aparência visual é semelhante à barra de rolagem vista em certos objetos, como Lista
de Seleção, Editor de Texto e outros. Entretanto, diferente das barras de rolagem
destes objetos, a Barra de Rolagem independente não é parte integral de nenhum
outro objeto.
Para fazer a Barra de Rolagem definir o valor de outro objeto, pode-se escrever um
script que utilize a propriedade Value. Por exemplo, para utilizar a Barra de
Rolagem para atualizar o valor de um Editor de Texto, pode-se digitar um script que
leia a propriedade Value da Barra de Rolagem e, em seguida, definir a propriedade
Value do Editor de Texto.
O evento padrão de uma Barra de Rolagem é o Change, e a propriedade padrão é
Value.
Para utilizar este objeto, siga estes procedimentos:
C'C 0 " !. ( !.
Este Botão é utilizado para incrementar e decrementar valores. Ao clicar em um
Botão Incremento-Decremento, somente o valor deste objeto é mudado.
Pode-se escrever um script que use o Botão Incremento-Decremento para atualizar o
valor exibido de outro objeto (por exemplo, para mudar o mês, ano ou dia mostrado
208 ActiveX
E3 – Manual do Usuário
C'D & ! - +
O Editor de Texto exibe informações na Tela ou informações digitadas pelo
usuário, sendo mais comumente usado para exibir as últimas. Além disso, pode
exibir um conjunto de dados, como uma tabela ou consulta, ou resultados de
cálculos.
Uma formatação aplicada a qualquer parte do texto em um Editor de Texto afetará
todo o texto do objeto. Por exemplo, se a fonte e/ou o tamanho de qualquer caractere
no objeto forem alterados, a alteração afetará todos os caracteres do Editor de Texto.
210 ActiveX
E3 – Manual do Usuário
C' E 0 " / ( /
Um Botão Liga-Desliga mostra o estado de seleção de um item.
Se o Botão Liga-Desliga está associado a uma fonte de dados, ele mostra o valor
atual daquela fonte de dados, como Sim/Não, Verdadeiro/Falso ou On/Off, ou
alguma outra escolha de duas definições. Se o usuário selecionar o Botão Liga-
Desliga, o valor será Sim, Verdadeiro ou On. Caso contrário, será Não, Falso ou Off.
ActiveX 211
D D
Associações (ou conexões) são ligações feitas entre propriedades e objetos ou outras
propriedades. As associações trazem grande facilidade ao criar animações e outros
tipos de lógicas comuns, minimizando a utilização de scripts.
Pode-se acessar a aba Associações clicando-se duas vezes no objeto e selecionando
a opção Propriedades. Nesta aba, são mostradas as propriedades do objeto que
podem ser associadas, bem como os tipos de associações existentes e suas fontes.
Associações 213
As opções disponíveis na aba Associações são as seguintes:
214 Associações
E3 – Manual do Usuário
D +" .
Na Conexão Simples, o valor do campo Fonte é copiado para a propriedade toda
vez que o primeiro for modificado.
Associações 215
D$ +" 0 !
A Conexão Bidirecional é semelhante a Conexão Simples porém, caso haja uma
variação na propriedade, seu valor será copiado para a Fonte, gerando assim, uma
associação de duas direções.
216 Associações
E3 – Manual do Usuário
D' +" /
Já na Conexão Digital, podemos estabelecer que caso a variável ou expressão do
campo Fonte represente um valor digital (booleano), seus estados Verdadeiro e
Falso serão mapeados para certos valores no destino, incluindo a opção de Pisca
(alternação de valores).
Associações 217
Opções disponíveis para Conexão Digital
OPÇÃO DESCRIÇÃO
/ Especifica o valor assumido pela propriedade quando a
expressão da fonte for True.
&. / Especifica o valor assumido pela propriedade quando a
expressão da fonte resultar em False.
.( Quando este campo estiver habilitado, a propriedade
conectada irá alternar entre os valores do campo Para o
valor, caso a fonte retorne True. Caso contrário, a
propriedade retornada irá alternar entre os valores dos
campos Valor e Para o valor caso a fonte retorne False.
Especifica o valor alternativo a ser assumido
) / periodicamente pela propriedade quando a expressão ou
associação da fonte resultar em True e o campo Pisca
estiver habilitado.
Especifica o valor alternativo a ser assumido
) &. / periodicamente pela propriedade quando a expressão da
fonte resultar em False e o campo Pisca estiver
desabilitado.
218 Associações
E3 – Manual do Usuário
D1 +" >/
A Conexão Analógica permite estabelecer uma escala de conversões entre a
variável fonte e destino. Através dos valores especificados, é feita uma escala linear
entre os valores da propriedade e os valores da fonte.
Associações 219
D2 +" !- 6
Na Conexão por Tabela, é possível especificar um conjunto de intervalos em
função de valores máximo e mínimo da fonte e para cada um destes intervalos, o
valor a ser assumido pela propriedade. Além disso, assim como na Conexão Digital,
é possível especificar a opção de Pisca e o valor alternativo.
Para utilizar este recurso, siga estes procedimentos:
220 Associações
E3 – Manual do Usuário
Associações 221
DA +" !
Na Conexão Reversa, toda vez que o valor da propriedade for modificado, este será
copiado para a Fonte, funcionando assim de maneira reversa à Conexão Simples.
Para utilizar este recurso, siga estes procedimentos:
222 Associações
E3 – Manual do Usuário
DB & "
O E3 possui uma ferramenta para edição das associações, chamada Edição de
Associações. Assim, é possível mudar uma ou mais associações feitas na aplicação
de forma mais rápida que pela janela tradicional.
O acesso a esta ferramenta pode ser feito clicando com o botão direito do mouse
sobre um ou mais objetos e selecionando a opção Editar Associações.
Associações 223
Figura 163: Edição de Associações
A caixa de diálogo acima mostra uma lista das associações, propriedades do tipo
Link e eventos do usuário relacionados aos objetos selecionados e seus filhos.
De acordo com o tipo de linha, temos as seguintes informações dispostas nas
colunas:
224 Associações
E3 – Manual do Usuário
Associações 225
Ao clicar na opção Editar, a caixa de diálogo abaixo é mostrada, permitindo assim
que seja editado o evento do usuário selecionado.
226 Associações
EE ) * !
Viewer 227
E :/ ! " ) * !
Através das propriedades do Viewer, é possível especificar configurações do
Viewer, Erros de comunicação, criar associações ou scripts.
E :/ ! ) @ !
Através da aba Visualizador, são configuradas as opções do Viewer quanto a título,
tela, zoom e demais propriedades, conforme explicado abaixo.
228 Viewer
E3 – Manual do Usuário
E $ &!! . "
230 Viewer
E3 – Manual do Usuário
E $ ) !, ) * !
No objeto Viewer é possível fazer associações com objetos a partir de Telas, bem
como usá-los via scripts. Também é possível inserir tags demo ou interno no
Viewer. Através do AppBrowser, podemos executar as seguintes ações:
• Acessar o objeto Viewer ou algum de seus filhos a partir de uma Tela ou
controle de Tela (associações ou Scripts);
• Os filhos do objeto Viewer acessarem outros filhos do Viewer ou o próprio
Viewer (associações ou Scripts);
• O próprio objeto Viewer acessar seus filhos (associações ou Scripts).
É importante salientar que a associação para o Viewer deve levar o nome real do
Viewer (ex: “ Viewer1” ) e não simplesmente “ Application” . Em scripts, ainda vale o
uso de “ Application” , que é uma propriedade de todos os objetos que retornam o
Viewer.
E' 68 -
Quando um Viewer é inserido no projeto, disponibiliza um frame filho. Este frame
filho é chamado de Top. Este objeto possui as mesmas funcionalidades do objeto
Divisor do Quadro.
Para utilizar este recurso, siga estes procedimentos:
Clique no objeto Viewer. Você vai observar que o Viewer mostrará o seu
filho nomeado como Top.
Viewer 231
Para configurar as propriedades do objeto Top, clique com o botão direito
do mouse sobre o mesmo e selecione a opção Propriedades.
Este objeto possui as mesmas funcionalidades do objeto Divisor do
Quadro, e tais informações podem ser encontradas no capítulo “ Telas e
Quadros” .
232 Viewer
0
$ 0 !
A utilização do Oracle como servidor de Banco de Dados do E3 só é possível
através da instalação de um servidor ou cliente Oracle na máquina onde será
executado o servidor E3. Nesta instalação devem estar presentes, obrigatoriamente,
o suporte a OCI (Oracle Call Interface) e o OLEDB Provider para Oracle,
necessários para a comunicação do E3 com o Oracle. Para instalar o Oracle, consulte
a documentação própria do produto.
O acesso ao BD Oracle pode ser feito de duas maneiras: acessando o Banco de
Dados Oracle de dentro do E3 ou via scripts. Abaixo serão explicados cada um
destes procedimentos:
$ 0 ! ! &'
Para inserir um novo Banco de Dados Oracle, siga estes procedimentos:
$$ 0 ! !
Scripts são módulos de linguagem de programação onde se pode criar linhas de
código que permitem maior flexibilidade para a associação de ações a eventos
específicos. Cada item de um projeto do E3 possui uma lista de eventos previamente
associados. Assim, o usuário poderá criar programas que serão executados na
ocorrência de um evento.
O E3 utiliza o VBScript (Visual Basic Script) em seus scripts, e com eles consegue
instanciar qualquer objeto ActiveX registrado no sistema. Para o acesso ao BD, o
ActiveX mais utilizado é o ADO, que pode ser facilmente manipulado nos scripts
E3.
Primeiramente, é necessária a criação de uma conexão ADO que pode ser feita com
o script abaixo:
DBConnection.Execute _
"UPDATE Tabela SET nome = 'João' WHERE id = 10"
$' - / @ &' ! 0
!
O E3 utiliza basicamente duas tecnologias para acessar o Banco de Dados Oracle:
ADO (ActiveX Data Object) e OCI (Oracle Call Interface).
ADO é a tecnologia utilizada pelo E3Browser e E3Chart para recuperação dos dados
armazenados no Banco de Dados. O ADO também é amplamente utilizado nos
scripts do E3 para todo tipo de operação junto ao Banco de Dados. Ele é um
conjunto de objetos COM criado para acessar informações de SGBD usando OLE
$1 ! ! !0
O Servidor de Banco de Dados do E3 utiliza a OCI (Oracle Call Interface) para se
comunicar com o servidor Oracle, ou seja, utiliza a forma nativa do Banco de Dados
para ganhar em performance na comunicação com o BD.
Um bom exemplo de como funciona a comunicação do Servidor BD do E3 com o
Oracle é o Histórico. Inicialmente é feita a aquisição dos dados pelo Histórico, que
de posse destes dados, imediatamente os envia em forma de requisições para o BD.
Estas requisições podem ser para criação de uma tabela, criação de índices e chaves,
adição de dados, etc. O Servidor BD do E3 possui um processo separado
especialmente para recebê-las. Dependendo do tipo de operação a ser realizada, os
dados são formatados e armazenados em arquivo ou memória temporários.
Ao mesmo tempo, o BD possui mais um outro processo, responsável pela
recuperação das aquisições e posterior envio para o banco de dados em forma de
comandos SQL, utilizando a OCI.
' 0 F ! ! ! &'
Para inserir um novo Banco de Dados SQL Server, siga estes procedimentos:
'' 0 ! !
Para acesso ao SQL Server através de scripts, usa-se uma conexão ADODB. A
string de conexão a esse tipo de Banco de Dados segue o modelo definido a seguir:
DRIVER={SQL Server};SERVER=server;UID=login_id;PWD=password;
O uso desse tipo de acesso deve ser restrito a casos onde não existe outra solução. O
E3 disponibiliza recursos que visam minimizar o uso desses acessos via script.
Entretanto, eventualmente o uso desse recurso pode ser necessário.
1 68 &' !.
É necessário configurar as permissões no Banco de Dados para a utilização dos
objetos do E3 em um projeto. Estas permissões são listadas abaixo:
Permissões
OBJETO PERMISSÕES
2
B . Permissão completa
I. B( . E Escreve e consulta as tabelas existentes
I. B( Permissão completa
+ . Permissão completa
$ :/ ! " !.
O objeto Configuração de Alarmes é o local onde as Áreas são inseridas e
organizadas. Para inserir este objeto em seu projeto, siga estes procedimentos:
Alarmes 245
$ ! !.
As Áreas de Alarme permitem agrupar um conjunto de Fontes de Alarmes, bem
como outras Áreas. Isto facilita o gerenciamento, operação e monitoração de um
conjunto de fontes de alarmes relacionadas, como por exemplo:
• Filtrar o conjunto de alarmes visíveis no sumário;
• Habilitar/desabilitar um conjunto de Fontes de Alarmes;
• Reconhecer de um conjunto de Fontes de Alarmes;
• Verificar o total de alarmes ativos e/ou não-reconhecidos de um conjunto Fonte
de Alarmes.
Caso haja necessidade, novas áreas podem ser inseridas dentro de outras.
Para inserir este objeto, siga estes procedimentos:
246 Alarmes
E3 – Manual do Usuário
$ $ < !.
Todas as informações relativas às condições de alarme são definidas nas Fontes de
Alarmes, bem como o tipo de eventos que devem ser gerados em cada condição. As
Fontes de Alarmes sempre contêm uma expressão de alarme (fonte de dados), cujo
valor poderá ser verificado de acordo com as diversas condições disponíveis. Estas
fontes são: alarme analógico, alarme de banda morta, alarme digital e alarme
de taxa de variação.
Em cada subcondição de alarme são configurados: seus limites, a mensagem relativa
ao evento, sua severidade, e a necessidade ou não de reconhecimento deste evento.
Alarmes 247
Ao abrir a Janela de Propriedades de qualquer fonte de alarme e escolher a aba
Fonte, a seguinte janela é aberta:
Para tratar o alarme como evento, ou para que o alarme possa ser reconhecido
duplamente (tanto quando estiver ativo como quando passar para inativo), basta
clicar na caixa de seleção correspondente acima.
Todas as fontes de alarmes possuem as seguintes propriedades gerais:
• Texto da Mensagem: Esta mensagem será armazenada no campo “ Mensagem”
do evento de alarme enquanto ele estiver ativo. Ou seja, poderá ser visualizada
no E3Alarm (sumário de alarmes), armazenada no Banco de dados, etc. O limite
do texto de mensagem é de 200 caracteres.
• Severidade: Indica a gravidade do alarme ocorrido (Baixa, Média ou Alta). O
campo Severidade é utilizado para realização de filtros e ordenação nas
mensagens.
• Pede Ack: Indica se o alarme deve ser reconhecido pelo operador para ser
retirado da lista de alarmes no E3Alarm, ou se será reconhecido
automaticamente quando a variável deixa uma condição de alarme.
• Volta ao normal: Essa mensagem será armazenada no campo “ Mensagem” do
evento de alarme enquanto este estiver inativo. Ou seja, poderá ser visualizada
no E3Alarm (sumário de alarmes), armazenada no Banco de dados, etc.
Há vários tipos de Fontes de Alarme que podem ser inseridas na Área de Alarme.
As opções disponíveis são as seguintes:
248 Alarmes
E3 – Manual do Usuário
Analógico
Permite monitorar uma variável analógica, pela especificação de até 4 níveis de
alarme, que são o LOLO (Muito Baixo), LO (Baixo), HI (Alto) e HIHI (Muito Alto).
Alarmes 249
Digital
Permite monitorar uma variável digital, pela especificação de alarme na borda de
subida (em -1 ou TRUE) ou borda de descida (em 0 ou FALSE).
250 Alarmes
E3 – Manual do Usuário
Banda Morta
Permite monitorar uma variável analógica pela especificação de um limite máximo
de diferença (Valor da banda morta), em relação a um valor de referência (SetPoint).
Alarmes 251
As opções disponíveis são as seguintes:
Taxa de variação
Usado para monitorar variações muito rápidas em uma variável do processo. A taxa
de variação usa seus valores especificados em unidades da variável por segundo.
252 Alarmes
E3 – Manual do Usuário
$$ ! ! !.
O objeto Servidor de Alarmes centraliza todos os alarmes do projeto. Nele podem
ser encontrados todos os alarmes ativos da aplicação (reconhecidos ou não). Ele
também é o responsável por reportar os eventos de alarmes para todos os Viewers
conectados, bem como enviar esses eventos para um Banco de Dados, se necessário.
Alarmes 253
Uma aplicação só pode ter um objeto desse tipo, e a sua presença é obrigatória para
que a verificação de alarmes ocorra.
Para inserir um Servidor de Alarmes, siga estes procedimentos:
$$ :/ ! ! / ! " - 6 !.
Para especificar as configurações do Servidor de Alarmes, é necessário acessar suas
propriedades. Para tanto, basta clicar com o botão direito do mouse sobre o Servidor
de Alarmes e selecionar a opção Propriedades.
Na aba Configuração, é possível especificar as configurações de Banco de Dados e
determinar campos para a geração da tabela de alarmes.
254 Alarmes
E3 – Manual do Usuário
Alarmes 255
Opções disponíveis para tabelas dos Campos dos alarmes
OPÇÃO DESCRIÇÃO
+(M Informa se o alarme foi reconhecido ou não. Este
J# ( ( L campo pode assumir os seguintes valores: 0: não-
reconhecido; 1: reconhecido.
+(M# Determina o reconhecimento automático do alarme.
J3 (.. Este campo apresenta os seguintes valores: 0:
#( ( L reconhecimento automático; 1: reconhecimento
manual.
+(M Registra a data/hora do E3 no momento em que o
J& I = #( ( L alarme é reconhecido, ou zero (30/12/1899), enquanto
o alarme não tenha sido reconhecido. No caso de
alarmes que não pedem reconhecimento, o campo
assume a data/hora do E3 no momento em que o
alarme fica ativo.
+(M &, Semelhante ao campo anterior. É usado para facilitar
J& I T # ( ( a gravação de dados do tipo Double no caso do Banco
T& ,L de Dados ser Oracle ou SQL Server.
+( & Nome do operador que reconheceu o alarme. Pode
J ) L ser:
• O usuário logado no Viewer, quando
reconhecimento é feito no E3Alarm (ou
“ (Sem usuário)”, se não há usuário
logado);
• “ System” , quando o reconhecimento é
automático (ou seja, para alarmes que
pedem reconhecimento).
• Um nome passado por Scripts (por
exemplo, usando AckArea(),
AckAllAlarms() ou LogTrackingEvent()
do Servidor de Alarmes, ou Ack da Fonte
de Alarmes).
O limite deste campo quando amarzenado no Banco
de Dados é de 50 caracteres.
+ (3 Registra o nome da fonte de alarme. O limite deste
J3 2 L campo quando amarzenado no Banco de Dados é de
100 caracteres. Ex: FonteAlarme1
+ Para eventos de alarmes, é o nome da área a qual a
J_ L fonte de alarmes pertence. Para outros eventos (por
exemplo, usando o método LogTrackingEvent() do
Servidor de Alarmes), pode ser um texto definido pelo
usuário. O limite deste campo quando amarzenado no
Banco de Dados é de 100 caracteres.
/ .MJ E
.( L Não é usado (o valor é sempre 0).
+( J 0
1 Indica se a fonte de alarmes está em alarme. Este
+ L campo apresenta os seguintes estados: 0: condição
não-ativa; 1: condição ativa.
256 Alarmes
E3 – Manual do Usuário
Alarmes 257
mantido no E3 por questões de compatibilidade.
@
) Tipo do evento. Para eventos de alarme, é sempre
J )L Condition. Para outros eventos, pode ser um texto
definido pelo usuário, como por exemplo, usando o
método LogTrackingEvent() do Servidor de Alarmes
(Ex: “ Tracking”, “ Simple” , etc). O limite deste campo
quando amarzenado no Banco de Dados é de 100
caracteres.
2 $ Mostra o valor formatado da fonte de alarme que vai
J$ 2 L para o seu evento. O limite deste campo quando
amarzenado no Banco de Dados é de 100 caracteres.
Obs.: Este campo é somente de leitura.
2 + (3 Registra o caminho completo da fonte de alarme,
J3 2 = incluindo áreas, nome da configuração de alarmes e
) L de possíveis pastas onde esta possa estar inserida
Ex: Pasta1.ConfigAlarmes1.Area1.FonteAlarme1
Registra a data/hora do valor no momento em que ele
J& = L entra na condição de alarme.
&, Semelhante ao campo anterior. É usado para facilitar
J& T T& ,L a gravação de dados do tipo Double no caso do Banco
de Dados ser Oracle ou SQL Server.
.. / É o texto configurado na fonte de alarme, ou
J . / L especificado por um outro evento (por exemplo,
usando o método LogTrackingEvent() do Servidor de
Alarmes). O limite deste campo quando amarzenado
no Banco de Dados é de 200 caracteres.
Registra a data/hora do valor no momento em que ele
J& I = >L sai da condição de alarme; ou zero (30/12/1899),
enquanto o alarme ainda não tenha saído da condição
ativa.
&, Semelhante ao campo anterior. É usado para facilitar
J& I T > T a gravação de dados do tipo Double no caso do Banco
& ,L de Dados ser Oracle ou SQL Server.
H @ Qualidade do valor de fonte do alarme no momento
JH L do evento. Este campo assume os seguintes valores
numéricos: 0-63: qualidade ruim; 64-127: qualidade
incerta; 128-191: valor não-definido; 192-255:
qualidade boa. Se o evento não for um alarme (por
exemplo, se ele estiver usando o método
LogTrackingEvent() do Servidor de Alarmes), este
campo será igual a “ ” . Exemplo: “ Ruim (0)”; “ Incerta
(64)” ; “ ?? (128)”; “ Boa (192)”.
@ É o valor de severidade configurado na fonte de
J L alarmes. Este campo pode assumir os seguintes
valores: 0: alta; 1: média; 2: baixa. Ele pode também
assumir outro valor definido pelo usuário se for um
evento, como por exemplo quando estiver usando o
método LogTrackingEvent().
258 Alarmes
E3 – Manual do Usuário
NOTAS:
- É necessário que haja um servidor de alarmes no domínio, para que seja possível a
monitoração de alarmes.
- Os campos , , e +( M contêm os
valores em milissegundos dos campos , , e +( M ,
respectivamente. Estes campos serão usados quando for necessário registrar o tempo
(em ms) dos eventos em um Servidor de Banco de Dados Oracle. Observe que estes
campos não estão disponíveis no E3Alarm, pois lá é possível visualizar os
milissegundos através da formatação das colunas de DataHora.
Depois de definidas todas as configurações, o sistema inicializa as inserções e
gravações das informações na tabela dos alarmes, conforme as especificações nos
campos. Quando o botão [ , ] é clicado, o sistema gera a tabela de dados
dos alarmes conforme as suas especificações, e informa se a tabela foi gerada com
sucesso.
Alarmes 259
A estrutura da tabela dos alarmes é semelhante à do Histórico: é composta por uma
tabela de definições, uma tabela principal de dados e uma tabela de backup
(opcional).
260 Alarmes
E3 – Manual do Usuário
$$$ :/ ! . ,!
Na aba Campos do Usuário permite adicionar valores arbitrários aos eventos de
alarmes.
Alarmes 261
'' &' !.
E3Alarm 263
' :/ ! &' !.
Para configurar o E3Alarm, clique com o botão direito do mouse no objeto e
selecione a opção Propriedades.
' :/ ! # !
Na aba Geral são especificadas as informações referentes ao Servidor de Alarmes e
ao filtro.
264 E3Alarm
E3 – Manual do Usuário
E3Alarm 265
' $ :/ !
Através da aba Colunas é possível selecionar os campos que serão visualizados no
E3Alarm. Os campos mostrados nos itens Campos disponíveis e Campos
selecionados são gerados pelo Servidor de Alarmes. Para maiores informações,
consulte a Tabela dos Campos dos Alarmes na seção Configurações para
Geração da Tabela de Alarmes do capítulo Alarmes, neste manual.
266 E3Alarm
E3 – Manual do Usuário
E3Alarm 267
Figura 195: Aba Ordenação
268 E3Alarm
E3 – Manual do Usuário
' 1 :/ ! " !
Na aba Cores são definidas as cores de reconhecimento dos alarmes no objeto. Cada
item traz especificações a respeito do status do alarme.
E3Alarm 269
Figura 197: Cores do alarme ativo
270 E3Alarm
E3 – Manual do Usuário
• Alarme reconhecido: Permite modificar a cor do alarme quando este tiver sido
reconhecido. Ao clicar no botão [ . ], o E3 abre a seguinte caixa de
diálogo:
E3Alarm 271
Opções disponíveis na aba Cores no alarme reconhecido
OPÇÃO DESCRIÇÃO
5 Determina a cor de fundo do alarme.
- Determina a cor de texto do alarme.
.( Pisca a cor do alarme.
272 E3Alarm
E3 – Manual do Usuário
'$ ! ! :
O E3Alarm possui uma série de características que se aplicam apenas em tempo de
execução (runtime). Estas características serão explicadas abaixo.
'$ ) @ !.
Durante a operação de runtime, os alarmes do sistema podem ser visualizados no
E3Alarm.
E3Alarm 273
'$$ 9 . !.
274 E3Alarm
E3 – Manual do Usuário
'$' ! "
Na configuração padrão, é possível ordenar os alarmes clicando-se no cabeçalho das
colunas do E3Alarm. Ao clicar no cabeçalho da coluna desejada, o campo associado
a ela será configurado como campo primário de ordenação. Ao clicar novamente no
cabeçalho da mesma coluna, o sentido de ordenação primário
(ascendente/descendente) será invertido.
Clicando no cabeçalho da coluna desejada com a tecla [ 5] pressionada, o campo
associado a ela será configurado como campo secundário de ordenação. Ao clicar
novamente com a tecla [ 5] pressionada no cabeçalho desta coluna, o sentido de
ordenação secundário será invertido.
Para maiores detalhes sobre este comportamento, veja as propriedades
PrimarySortAscending, PrimarySortField, SecondarySortAscending e
SecondarySortField na seção Propriedades do E3Alarm do Scripts: Manual de
Referência.
E3Alarm 275
1
1 5 >!
Históricos 277
Quando o Histórico for habilitado, as seguintes opções de configuração são
apresentadas:
278 Históricos
E3 – Manual do Usuário
1 :/ ! 5 >!
Quando um Histórico é inserido no projeto, o campo E3TimeStamp é criado
automaticamente na tabela. O E3TimeStamp mostra a data/hora que o valor foi
buscado (diferente do Timestamp do Tag). Vale lembrar que este campo é utilizado
somente para leitura. É possível associar um tag ao E3TimeStamp. Se não houver
associação, ele pega a hora atual do sistema para a gravação.
Para criar a tabela no histórico, é importante que seus campos sejam previamente
O campo Nome define o nome do campo da tabela. O campo Tipo define o tipo de
campo da tabela, e a fonte deste campo é definida em Fonte. Também é possível
definir se este campo será ou não a chave primária da tabela.
1 9 3!. ,!
A Chave Primária é um campo ou um conjunto de campos que identifica de
maneira única cada registro de uma tabela. Assim como o índice principal para a
tabela, ela é utilizada para associar dados entre tabelas. Alguns exemplos de chaves
primárias são códigos de clientes, CNPJ, nº- de matricula, etc. Após a definição de
um campo como sendo a chave primária da tabela, o próprio Banco de Dados
garante que não sejam inseridos dados duplicados no campo que é a chave primária.
Por exemplo, se o usuário tentar cadastrar um pedido com o mesmo número de um
pedido já existente, o registro não será cadastrado e uma mensagem de erro será
mostrada.
Há dois tipos de chave primária: simples ou composta.
Uma chave primária simples é um campo que identifica de modo único cada
registro de uma tabela. Uma chave primária composta pode ser formada pela
combinação de dois ou mais campos da tabela. Podem existir casos em que um
Históricos 279
único campo não é capaz de atuar como chave primária porque ele apresenta valores
repetidos. Além disso, uma tabela pode ter somente uma Chave Primária, seja ela
simples ou composta. Ou seja, não podemos definir dois ou mais campos de uma
tabela para que cada um seja uma chave primária separada. Não confundir com o
caso de uma chave primária composta, onde a união de dois ou mais campos é que
forma a única chave primária da tabela.
Ao escolher campos da Chave Primária, considere os seguintes detalhes:
• Não são permitidos valores duplos ou nulos;
• Caso não exista um identificador único para uma determinada tabela, pode-se
usar um campo que numere os registros seqüencialmente.
A chave primária pode ser configurada de duas formas: verificando na tela do
Histórico qual campo da tabela que se pretende tornar Chave Primária, e
Nesta caixa de diálogo, basta selecionar o campo desejado como Chave primária.
280 Históricos
E3 – Manual do Usuário
1 $
Um Índice é um campo ou conjunto de campos que serão previamente ordenados
pelo Banco de Dados a fim de melhorar a performance das consultas que utilizam
este índice. Eles são utilizados para encontrar registros com um valor específico em
uma coluna rapidamente. Sem um índice, o Banco de Dados tem de iniciar com o
primeiro registro e depois ler através de toda a tabela até que ele encontre os
registros relevantes. Quanto maior a tabela, maior será o custo. Se a tabela possuir
um índice para as colunas em questão, o Banco de Dados pode rapidamente obter
uma posição para procurar no meio do arquivo de dados sem ter que varrer todos os
registros. Por exemplo: Se uma tabela possui 1.000 registros, isto é pelo menos 100
vezes mais rápido do que ler todos os registros seqüencialmente. Note que se for
preciso acessar quase todos os 1.000 registros, no entanto, é mais rápido acessá-los
seqüencialmente, pois isto evitaria acessos ao disco.
Os tipos de índices disponíveis são os seguintes: primário, único e index.
Todos os tipos de colunas da tabela podem ser indexadas. O uso de índices nas
colunas relevantes é a melhor forma de melhorar a performance da tabela. O número
máximo de índices por tabelas e o tamanho máximo de um índice é definido pelo
mecanismo de armazenamento do Servidor de Banco de Dados.
Pode-se criar índices em múltiplas colunas. Um índice de múltiplas colunas pode ser
considerado um array ordenado contendo valores que são criados concatenando-se
valores de colunas indexadas.
Históricos 281
Os índices pode ser configurados através do ícone , que abrirá a janela de
configuração, conforme figura abaixo:
282 Históricos
E3 – Manual do Usuário
Históricos 283
1 ' :/ ! - 6
Depois de definidas as opções acima, é necessário configurar as informações da
tabela do histórico e gerar a estrutura no Banco de Dados. Para tanto, clique com o
botão direito do mouse sobre o Histórico e selecione a opção Propriedades. Acesse
a aba Histórico e A seguinte janela será mostrada:
284 Históricos
E3 – Manual do Usuário
Históricos 285
Quando a opção Gerar Tabela é acionada, o sistema mostra a seguinte mensagem:
286 Históricos
E3 – Manual do Usuário
Históricos 287
Quando a tabela é selecionada e é clicado no botão [ R], o sistema mostra a
seguinte mensagem:
Quando este item é utilizado, outros dois botões são habilitados: Manter
Quando a opção Manter Histórico sem vínculos diretos com tabela existente
é habilitada, o sistema mostra a seguinte mensagem:
Figura 216: Histórico após a habilitação da opção Manter históricos sem vínculo direto com a tabela existente
288 Históricos
E3 – Manual do Usuário
Históricos 289
22 &' !/
Storage 291
Gráfico sem compactação
A informação processada contém vários pontos.
292 Storage
E3 – Manual do Usuário
2$ :/ ! &' !/
Quando o E3Storage é criado na tela, é mostrada uma lista de definições dos campos
de gravação.
Storage 293
As opções disponíveis são as seguintes:
294 Storage
E3 – Manual do Usuário
2' :/ ! " - 6
Podemos acessar as configurações da tabela utilizada no E3Storage de duas
maneiras:
Storage 295
Opções disponíveis na aba Storage
OPÇÃO DESCRIÇÃO
% ? . , ( Define o servidor de Banco de Dados. Este campo
. equivale à propriedade DbServer.
3 , Determina o nome da tabela. Este campo equivale à
propriedade TableName.
& .( . , Habilita/desabilita o descarte dos dados da tabela
) () principal. O dado será "antigo" de acordo com o que
for definido na opção . . J.L
G J.L Este campo equivale à propriedade
EnableDiscard.
. . J.L Determina o intervalo de tempo (minutos, horas, dias
G J.L ou meses) durante o qual os dados serão mantidos na
, () tabela principal. Se um dado da tabela for mais antigo
que o intervalo de tempo desta opção, ele será
descartado. Este campo equivale à propriedade
DiscardInterval, e o campo de seleção da unidade de
tempo do intervalo equivale à propriedade
DiscardTimeUnit.
+ 5
(01 ( Determina o intervalo (minutos, horas, dias ou meses)
( de descarte de dados antigos da tabela. Este campo
equivale à propriedade VerificationUnit.
& . .( . Habilita/desabilita o armazenamento dos dados
. ? . descartados na tabela secundária (tabela de backup).
Este campo equivale à propriedade
EnableBackupTable.
. . J.L Determina o intervalo de tempo (minutos, horas, dias
G J.L ou meses) durante o qual os dados serão mantidos na
, (
M) tabela de backup. Este intervalo deve ser sempre
maior que o configurado no item .
J.L . G J.L da Tabela Principal. Este
campo equivale à propriedade
BackupDiscardInterval, e o campo de seleção da
unidade de tempo do intervalo equivale à propriedade
BackupDiscardTimeUnit.
, Gera a estrutura da tabela no Banco de Dados. Esta
opção está disponível através do clique com o botão
Storage 297
As opções de gerenciamento de tabelas especificadas no item anterior se aplicam na
verdade a três conjuntos de tabelas geradas pelo E3Storage, de acordo com o campo
3 , .
Isto porque, para cada tipo de grandeza armazenada, é gerado automaticamente um
conjunto de tabelas, a saber: um conjunto para os tags analógicos, outro para os
textos e mais outro para os digitais. Dessa forma, cada E3Storage pode gerenciar até
sete tabelas, caso você especifique que os três tipos de tags devam ser armazenados:
<NomeTabela>_Fields
<NomeTabela>
<NomeTabela>_Text
<NomeTabela>_Bit
<NomeTabela>_Backup
<NomeTabela>_Text_Backup
<NomeTabela>_Dig_Backup
A Tabela _Fields contém a descrição dos campos que serão armazenados, que de
forma geral armazenam as mesmas informações definidas na configuração dos
campos do E3Storage, além de associar um índice automático para cada campo.
As demais tabelas possuem um formato fixo:
E3TimeStamp: Campo que armazena a data e hora que houve a variação do tag.
Caso o protocolo de comunicação suporte o envio de informação de tempo, este
campo conterá o timestamp do equipamento.
Qualidade: Contém a informação de qualidade do ponto (ruim, incerto, bom) de
acordo com a utilização dentro do E3 e das normas OPC.
Índice: Relaciona o campo gravado com o seu respectivo nome que está
armazenado na tabela Fields.
Valor: Valor armazenado. Para a tabela de analógicos trata-se de um campo tipo
Double (Numero Real) , já para a tabela de digitais trata-se de um numero inteiro e
para os textos trata-se de um campo NVARCHAR de tamanho variável,
especificado pelo usuário no campo StringFieldSize.
012 342
1 1 5+2/
342
1 !1
, 61 1 71
1 5+2/
82
.4 012
1 71 !1
- /
Storage 299
propriedade FunctionSubType, pode ser Previous (Valor armazenado imediatamente
anterior ao TimeStamp fornecido), Next (Valor armazenado imediatamente posterior
ao TimeStamp), Interpolated (Valor calculado a partir do valor anterior e posterior) e
ExactTime (se for encontrado um valor armazenado no exato instante que foi
fornecido pelo TimeStamp). As variáveis também podem ser definidas em execução
a partir da chamada do método SetVariableValue da Consulta.
TagAttribute: Devolve um atributo do Tag, definido em FunctionSubType, que
pode ser FieldDescription (Significado/Descrição do Tag), FieldSource (Caminho do
Tag que está sendo armazenado), FieldType (Tipo de Dado: Double, Boolean,
String), FieldEU (Unidades de Engenharia), FieldLowEng - FieldHighEng (Limites
Superiores), FieldDeadBand (Banda Morta para Gravação), FieldDeadBandUnit
(Unidade da Banda Morta, se em valores absolutos ou em porcentagem),
FieldMinRecTime (Tempo Mínimo para Gravação - variações menores que esse
intervalo são desprezadas) e FieldMaxRecTime (Tempo Máximo para Gravação - a
ausência de variação nesses intervalos força uma gravação).
CompressedDataNValues: Retorna, para um único Tag, N valores definidos na
variável NumVals, armazenados a partir de um instante inicial, definido na variável
StartTime. As variáveis também podem ser definidas em execução a partir da
chamada do método SetVariableValue da Consulta.
CompressedDataStartEndTime: Retorna, para um único Tag, os valores
armazenados que estão entre o intervalo definido pelas variáveis StartTime e
EndTime. As variáveis também podem ser definidas em execução a partir da
chamada do método SetVariableValue da Consulta.
SampledData: Retorna, para um ou mais Tags, os valores interpolados (ou seja,
estimados) entre os instantes definidos pelas variáveis StartTime e EndTime, a
intervalos fixos definidos pela variável TimeInterval. As variáveis também podem
ser definidas em execução a partir da chamada do método SetVariableValue da
Consulta.
CalculatedData: Retorna, para um ou mais Tags, o resultado de operações
matemáticas aplicadas aos dados entre os instantes definidos pelas variáveis
StartTime e EndTime, a intervalos fixos definidos pela variável TimeInterval. Os
tipos de cálculos são: Total, Mínimo, Máximo, Desvio Padrão, Amplitude, Média e
Mediana. As variáveis também podem ser definidas em execução a partir da
chamada do método SetVariableValue da Consulta.
Para todas as opções é possível indicar se os dados com qualidade RUIM serão
incluídos ou não na resposta, através do CheckBox “ Incluir Qualidade Ruim” .
300 Storage
E3 – Manual do Usuário
2'' @ "
Se a função escolhida possui algum filtro, então é necessário informar o valor dos
filtros antes de executar a consulta, seja no próprio diálogo de configuração (através
da aba Visualizar) ou através de scripts, usando o método SetVariableValue.
Exemplos:
Set Chart = Screen.Item(“E3Chart1”)
Set Query = Chart.Item(“Consulta1”)
Query.SetVariableValue "StartTime",Chart.DataIni
Query.SetVariableValue "EndTime",Chart.DataFim
Query.SetVariableValue
"TimeInterval",rs.Fields("SampleInterval").Value
Chart.Queries.UpdateData
Storage 301
2 ' 1 < !! . &+ ! L !
3! ! M
Quando se está desenvolvendo um programa externo, em linguagens como Java,
Visual Basic ou Visual C++, e se deseja obter os dados armazenados pelo
E3Storage, é possível realizar chamadas Stored Procedures, que são criadas pelo
E3Storage em seu Banco de Dados. Existem sete Stored Procedures, que
correspondem a algumas das opções de consulta exibidas abaixo:
302 Storage
E3 – Manual do Usuário
E3LastValue
Retorna o último valor que está armazenado no Banco de um determinado tag. A
descrição formal é:
Onde:
@strTableName: Nome da Tabela
@strFieldName: Nome do Campo
@strFilter: Caso queiraa inserir opções de filtro para o valor
@type: Tipo de Dado: 0 = String, 1 = Bit, 2 = Analógico
@bQuality: Se diferente de 0, somente inclui tags com qualidade Boa.
Retorna uma consulta com apenas uma linha, com os campos E3TimeStamp,
Quality e FieldValue.
Exemplo de utilização:
EXECUTE E3LastValue ‘TabelaXX’,’Tag234’,’’,2,1
E3Archive
Retorna um valor armazenado em relação a um instante, conforme o exposto na
função ArchivedValue. É usada somente para os SubTipos Prev (0), Next (2) e
ExactTime (3). A descrição formal é:
Storage 303
Onde:
@iSubType: SubTipo da função, sendo 0=Prévio, 2=Próximo, 3=Instante Exato
@Data: Instante no Tempo para a busca, no formato FLOAT.
Retorna uma consulta com apenas uma linha, com os campos E3TimeStamp,
Quality e FieldValue.
Exemplo de utilização
DECLARE @MyDate FLOAT
SET @MyDate = dbo.E3GETFLOATVALUE('10-10-2005
12:00:00')
EXECUTE E3Archive 0,'STO22',
@MyDate,'Dados.TagDemo1','',2,0
E3ArchiveInterpolate
Retorna os pontos imediatamente anterior e posterior a um instante, conforme
exposto para a ArchivedValue, porém somente para o SubTipo Interpolado. A
descrição formal é:
Onde
@dData: Instante no Tempo para a busca, no formato FLOAT.
304 Storage
E3 – Manual do Usuário
E3NCompData
Equivale à função CompressedDataNValues. A descrição formal é:
E3CompData
Equivale à função CompressedDataStartEndTime. A descrição formal é:
Storage 305
Onde:
@dStartData: é a Data Inicial, em formato FLOAT;
@dEndData: é a Data Final, em formato FLOAT;
@strOrder: quando desejar que a consulta seja ordenada por outro campo que não
seja o TimeStamp
E3SampledData
Equivale à função SampledData. A descrição formal é:
Onde:
@iModMin: Intervalo em segundos para a interpolação de cada valor dentro do
intervalo;
@dStartData: é a Data Inicial, em formato FLOAT;
@dEndData: é a Data Final, em formato FLOAT;
@strFields: Lista de campos
306 Storage
E3 – Manual do Usuário
Exemplo de utilização:
DECLARE @MyStartDate FLOAT
SET @MyStartDate = dbo.E3GETFLOATVALUE('10-10-2004
12:00:00')
DECLARE @MyEndDate FLOAT
SET @MyEndDate = dbo.E3GETFLOATVALUE('10-10-2006
12:00:00')
EXECUTE E3SampledData
'STOXX',10,@MyStartDate,@MyEndDate,'Dados.TagDemo1'
,'',2,1
E3CalculatedData
Equivale à função CalculatedData. A descrição formal é:
Exemplo de utilização:
DECLARE @MyStartDate FLOAT
SET @MyStartDate = dbo.E3GETFLOATVALUE('10-10-2004
12:00:00')
DECLARE @MyEndDate FLOAT
SET @MyEndDate = dbo.E3GETFLOATVALUE('10-10-2006
12:00:00')
EXECUTE E3CalculatedData
0,'STOXX',10,@MyStartDate,@MyEndDate,'Dados.TagDemo
1','',2,1
Storage 307
AA
Consultas 309
Figura 225: Configurações da Consulta
A ! .
Quando um E3Browser, Relatório ou E3Chart são criados no projeto, inserem
automaticamente uma consulta como filho, com o nome “ Consulta1” .
Para utilizar este recurso, siga estes procedimentos:
310 Consultas
E3 – Manual do Usuário
Após ser definido o servidor Banco de Dados, uma nova janela aparecerá
com tabelas que foram encontradas no Banco de Dados, permitindo a sua
seleção:
A janela acima também pode ser acessada através do clique com o botão direito do
mouse sobre o objeto e selecionando a opção Configurar.
A$ < # !
Na primeira subdivisão, podemos destacar os seguintes elementos:
312 Consultas
E3 – Manual do Usuário
A' - 6
Neste item, são exibidas as tabelas selecionadas para a consulta, que podem ser
excluídas ao serem fechadas. Novas tabelas podem ser inseridas pelo botão
[+ ( , .].
Para selecionar todos os campos da tabela para fazer parte da consulta, clique no
primeiro item na caixa de texto, correspondente ao símbolo “ *” . Para adicionar um
campo específico, basta clicar na caixa de seleção correspondente.
Consultas 313
Figura 231: Tabela
A1
Na divisão de colunas, são mostrados os campos escolhidos.
314 Consultas
E3 – Manual do Usuário
O tipo de dado de comparação pode ser definido ao clicar com o mouse na caixa de
texto correspondente e aparecerá uma lista de opções (Empty, NULL, Boolean,
Integer, Long, Currency, Single, Double, Date e String).
Consultas 315
Figura 234: Definição e configuração do filtro
O valor de comparação poderá ser fixo (Ex: 123, 45, “ ABCD” , etc) ou uma variável
que será definida pelo usuário. Para criar uma variável, basta informar um nome
qualquer entre os símbolos:
<% %>. : se o valor for numérico;
“ <% %>” . : se for texto (string);
#<% %>#. : se o valor for uma data;
O valor da variável pode ser definido através do botão [ E . ] ou
através do método SetVariableValue(), chamado via Script.
A2 + F
Aqui é exibida a sintaxe SQL resultante da parametrização realizada. Você pode
editar diretamente a consulta, caso desejar, inserindo manualmente os comandos
SQL.
AA
Ao clicar no botão [ . ], é possível realizar uma prévia da mesma, cujo
resultado será mostrado na parte inferior da janela. Você pode definir também um
número máximo de registros para busca, para tornar mais rápido o processo de teste.
316 Consultas
E3 – Manual do Usuário
AB : ! ! J !
Configurar e confirmar se a consulta está correta é apenas um dos passos no uso da
consulta. O uso em runtime e as modificações de valores dos filtros definidos para a
consulta podem ser vistos no script abaixo. A função Consulta.SetVariableValue é
a responsável pela parametrização da consulta conforme valores passados via script.
Set consulta = Screen.Item ("E3Browser1").Item("Consulta1")
Consulta.SetVariableValue "DataIni",_
Application.GetObject("DadosFH.TagInterno1").Value
Consulta.SetVariableValue "DataFim",_
Application.GetObject("DadosFH.TagInterno2").Value
Screen.Item("E3Browser1").Requery()
O método Requery() possibilita que os novos parâmetros de consulta seja realmente
utilizados, visto que uma nova consulta é feita, respeitando esses novos valores.
AC ! . ! J
!
Um outro uso interessante da consulta é trabalhar com record sets. Depois de feita
uma consulta, é possível capturar o record set correspondente e trabalhar com
registros linha a linha, executar novas consultas, etc.
Na linha de comando
RS =TelaInicial.E3Browser1.Consulta1.GetADORecordset(),
A variável RS assume todas as características de um record set. A vantagem do uso
desse recurso é que, se forem feitas modificações nas propriedades do banco, não é
necessário ajustar cada um dos scripts que acessam esse banco.
Consultas 317
B
B &'0! * !
E3Browser 319
B 68 &'0! * !
A Consulta é um objeto do E3 que auxilia o usuário no processo de definição de
consultas no Banco de Dados da aplicação. Toda a vez que o E3Browser for buscar
dados no Banco de Dados, é necessário enviar um comando para o mesmo, de forma
que se saiba quais os dados desejados para aquele objeto. Logo, toda a vez que uma
aplicação E3 precisar gravar ou buscar dados armazenados num Banco de Dados,
são enviados comandos no formato SQL (Structure Query Language).
A Consulta apresenta uma interface amigável que permite a construção das consultas
numa forma gráfica e o acompanhamento imediato da sintaxe SQL que está sendo
gerada.
320 E3Browser
E3 – Manual do Usuário
B$ ! :/ ! &'0! * !
As configurações disponíveis no E3Browser são os seguintes:
B$ :/ ! &
Através da aba Estilo você pode definir a aparência das divisões (grade) das células
e dimensões das linhas e colunas. Pela aba "Opções" você pode definir o regime de
atualização dos dados e tipo de seleção das células.
E3Browser 321
Figura 239: Configurações de estilo do E3Browser
322 E3Browser
E3 – Manual do Usuário
E3Browser 323
B$' :/ ! " ! &'0! * !
A aba Cor determina as cores do E3Browser, referente às colunas e células do
mesmo. Se a cor desejada não estiver na paleta de cores padrão, é necessário
configurá-la através do botão [ . ? ], pela qual será aberta a
caixa de edição da cor.
324 E3Browser
E3 – Manual do Usuário
E3Browser 325
CC &' 9 !
E3Chart
Coleção de Penas
Pena
Convenções:
Legenda
Objeto
Coluna da Legenda
Coleção
Coleção de Consultas
Consulta
Coleção de Eixos
Eixo
E3Chart 327
Para utilizar os recursos do E3Chart, siga estes procedimentos:
C :/ ! &' 9 !
Para acessar as configurações do E3Chart, clique com o botão direito sobre o objeto
e selecione a opção Propriedades.
C :/ ! # ! &' 9 !
Através da aba Item, é possível visualizar o nome do objeto e atribui-lhe uma
descrição.
328 E3Chart
E3 – Manual do Usuário
E3Chart 329
Cada campo da aba Posição possui uma propriedade correspondente. As opções
disponíveis são as seguintes:
330 E3Chart
E3 – Manual do Usuário
Quando o E3Chart é criado, dois eixos principais são criados automaticamente: Eixo
Horizontal e Eixo Vertical. Estes são os eixos padrão, e não podem ser removidos.
Ao clicar o botão [+ ( ], é criado um novo eixo no gráfico e aberta uma janela
de configuração que permite determinar as propriedades do objeto Eixo. Esta janela
E3Chart 331
possui duas abas, Geral e Escala, e também pode ser acessada ao clicar o botão
[ 5/ ].
A aba Geral contém a informação que identifica a pena no sistema.
332 E3Chart
E3 – Manual do Usuário
E3Chart 333
A aba Escala define as configurações da escala do eixo.
334 E3Chart
E3 – Manual do Usuário
E3Chart 335
C ' :/ ! 3
O objeto Coleção de Penas representa o conjunto de penas contidas no E3Chart.
Cada pena é configurada para exibir dados em tempo real e/ou dados históricos
vindos da consulta.
Através da aba Penas, é possível adicionar e remover penas da Coleção de Penas,
bem como configurar suas propriedades individualmente.
336 E3Chart
E3 – Manual do Usuário
E3Chart 337
A aba Dados contém a informação sobre o tipo da pena.
338 E3Chart
E3 – Manual do Usuário
E3Chart 339
A aba Estilo determina o estilo da pena.
340 E3Chart
E3 – Manual do Usuário
Clique [+))@ ] para visualizar as modificações feitas nesta janela, e [ R] para salvá-
las.
O estilo do desenho da pena é definido no campo Modo de ligação entre os pontos,
que possui as seguintes opções: Analógico, onde o traçado busca uma reta unindo
cada um dos pontos do gráfico, ou Digital, onde o traçado é sempre baseado em
retas somente horizontais e verticais, sugerindo variação instantânea.
A aparência da pena conforme a opção configurada nesta opção pode ser visualizada
abaixo:
E3Chart 341
Figura 254: Modo analógico de ligação entre os pontos
Figura 256: O modo como a pena é apresentada quando o scan é considerado é representado pela cor verde e
quando este campo está desabilitado é representado pela cor azul e rosa.
342 E3Chart
E3 – Manual do Usuário
C 1 :/ ! /
A Legenda é utilizada para exibir as penas visíveis no gráfico e informações sobre
elas, tais como cor, nome da pena, estado, etc.
E3Chart 343
Opções disponíveis na aba Legenda
OPÇÃO DESCRIÇÃO
. / Habilita a visualização da legenda. A caixa de seleção ao
lado deste campo define o posicionamento da legenda. Este
campo equivale à propriedade Visible da Legenda, e o
campo de seleção da posição da legenda equivale à
propriedade LegendPos da Legenda.
Determina o tamanho da legenda, em pixels. Pode ser a
altura ou a largura, dependendo da posição. A outra
dimensão acompanha a do E3Chart. Este campo
corresponde à propriedade Size da Legenda.
. .) > . Lista as colunas disponíveis para visualização na legenda.
As opções disponíveis deste item são:
• Cor da pena: Determina a cor da pena.
• Descrição da pena: Mostra a descrição da
propriedade DocString da pena.
• EscalaX: Mostra o nome do eixo X associado
à pena.
• EscalaY: Mostra o nome do eixo Y associado
à pena.
• Estado: Mostra o estado de funcionamento
atual da pena. Para maiores detalhes, veja
tópico “ Coluna Estado da Legenda”.
• Nome da pena: Nome da pena.
• Nome do tagX: Mostra o nome do tag que foi
associado ao eixo X.
• Nome do tagY: Mostra o nome do tag que foi
associado ao eixo Y.
• Valor do tagX: Mostra o valor da pesquisa no
eixo X.
• Valor do Tag Y: Mostra o valor da pesquisa
no eixo Y.
.. ( . Mostra as colunas selecionadas para a legenda.
1 + ( ! Adiciona uma coluna à legenda. Este botão equivale ao
método InsertColumn() da Legenda.
1 ) .! Abre uma caixa de diálogo para a configuração das
propriedades dos campos das colunas da Legenda.
1 # ! Remove a coluna selecionada da legenda. Este botão
equivale ao método Remove() da Legenda.
,A
& .( Troca a posição da coluna na legenda. Estes campos
equivalem ao método ChangeColumnPos() da Legenda
. > . . Habilita o cabeçalho da legenda. Este campo equivale à
( . propriedade ShowHeader da Legenda.
344 E3Chart
E3 – Manual do Usuário
E3Chart 345
C 2 :/ !
As Consultas são necessárias para mostrar valores históricos no E3Chart. Através
da aba Consultas é possível adicionar ou remover consultas, bem como configurá-
las.
346 E3Chart
E3 – Manual do Usuário
C A :/ ! " <
Através da aba Fonte, é possível configurar a fonte do cabeçalho e das linhas do
E3Chart.
C$ 5 6 6 &' 9 !
O exemplo a seguir demonstra como habilitar/desabilitar a conexão dos dados de
uma pena no E3Chart. Para tanto, siga os procedimentos a seguir:
E3Chart 347
Acesse as propriedades deste botão e selecione a aba Scripts. No evento
Click do botão de comando, escreva o seguinte script:
Sub CommandButton1_Click()
Set Pen1= Screen.Item("E3Chart1").Pens.Item("Pena1")
Pen1.Disconnect()
End Sub
348 E3Chart
E3 – Manual do Usuário
E3Chart 349
C$'5 6 = 6 @ "
&' 9 !
O exemplo a seguir demonstra como habilitar/desabilitar a visualização de uma pena
no E3Chart. Para tanto, siga estes procedimentos:
350 E3Chart
E3 – Manual do Usuário
C$1 ! " . ! !
O exemplo a seguir demonstra como criar uma pena por script. Para tanto, siga estes
procedimentos:
E3Chart 351
C' ! ! : .
O E3Chart possui uma série de características que se aplicam apenas em tempo de
execução (runtime). Essas características serão explicadas abaixo.
352 E3Chart
E3 – Manual do Usuário
Opção Pesquisar
Esta opção permite pesquisar valores dos pontos das penas. O valor é mostrado na
legenda, através das colunas Valor do Tag X e Valor do Tag Y.
Figura 264: A pesquisa é mostrada nos campos Valor do TagX e Valor do TagY
E3Chart 353
NOTA1: Para obter maiores informações sobre as colunas Valor do Tag X e Valor
do Tag Y, veja o tópico “ Configurações da Legenda” .
“Sem conexão”.
Esta mensagem aparece na pena de tempo real, quando os valores das propriedades
YLink ou XLink foram informados, mas são inválidos.
“<Nome_da_Consulta> (Desconectado)”.
Esta mensagem indica que o E3Chart está sem conexão com o domínio.
354 E3Chart
E3 – Manual do Usuário
DICA: Trocando a propriedade CursorLocation para clClient, faz com que os dados
sejam baixados por etapas evitando o possível problema de Timeout.
E3Chart 355
DD <>!.
Fórmulas 357
D :/ ! <>!.
Quando uma Fórmula é criada, é mostrada uma janela para a configuração do Banco
de Dados e da tabela que serão utilizados. Sem isto, não será possível a criação de
unidades e conjuntos de valores.
358 Fórmulas
E3 – Manual do Usuário
D$ - .
A primeira aba na view de Fórmulas chama-se Templates. Os templates definem o
tipo de dado que poderá ser armazenado em cada variável da Fórmula e suas
restrições.
Fórmulas 359
Quando o Botão Restrições é acionado, a seguinte janela é mostrada:
360 Fórmulas
E3 – Manual do Usuário
D'
A segunda aba na view de Fórmulas chama-se Unidades. As unidades definem os
tags que serão associados aos templates da Fórmula. É possível criar várias
unidades, ou seja, vários grupos de tags que poderão receber os valores da Fórmula.
Fórmulas 361
D1 8 ) !
A terceira aba na view de Fórmulas chama-se Valores. Conjuntos de valores são os
valores transferidos para os tags, ou seja, para as unidades.
362 Fórmulas
E3 – Manual do Usuário
Procedimentos
Fórmulas 363
Formula, e dentro dela outras duas pastas chamadas Maquina1 e
Maquina2. Dentro delas crie 3 tags internos para cada uma.
364 Fórmulas
E3 – Manual do Usuário
Fórmulas 365
Figura 278: Tela de Fórmula
NOTA: Às vezes, pode ocorrer um erro na Tela que faz com que as imagens
desapareçam. Para solucionar esta questão deve-se desabilitar a opção Esconder
extensões do MS-DOS para arquivos registrados. Pode-se acessar esta opção a
partir do Windows Explorer.
Crie um botão na Tela com a mensagem Carregar valores. Este botão irá
mostrar uma caixa de diálogo com os valores existentes e as unidades para
as quais estes podem ser carregados, podendo ser selecionada qualquer
opção. Para tanto, crie o seguinte script neste botão:
Sub CommandButton1_Click()
Application.LoadFormulaDlg "Formula1", "Maquina1, Maquina2",_
"Modelo1, Modelo2, Modelo3, Modelo4"
End Sub
366 Fórmulas
E3 – Manual do Usuário
Figura 279: Caixa de diálogo mostrada quando o botão Carregar valores é clicado em tempo de execução
Sub CommandButton2_Click()
Application.LoadFormulaValues "Formula1", "Maquina1",_
"Modelo1"
Screen.Item("Texto16").Value
End Sub
onde Texto16 é o nome do último SetPoint inserido na Tela. Este comando irá
carregar o conjunto de valores especificado no SetPoint para a unidade Maquina1.
Ao ser executado, este método irá buscar pelo conjunto de valores em disco. Caso
encontre, irá carregá-lo seguindo o padrão de restrições definido no template da
Fórmula. Os campos com restrições abertas poderão ter seus valores modificados
pelo usuário. Para que o usuário não seja interrogado sobre as mudanças de valores
nos campos carregados, devemos utilizar o modo silencioso.
Fórmulas 367
Figura 280: Alteração de valor
Sub CommandButton2_Click()
If Screen.Item("CheckBox1").Value = true then
Application.LoadFormulaValuesQuiet "Formula1",_
"Maquina1", "Modelo1"
Application.LoadFormulaValuesQuiet "Formula1",_
"Maquina1", "Modelo2"
Application.LoadFormulaValuesQuiet "Formula1",_
"Maquina1", "Modelo3"
Application.LoadFormulaValuesQuiet "Formula1",_
"Maquina1", "Modelo4"
else
Application.LoadFormulaValues "Formula1", "Maquina1",_
"Modelo1"
Application.LoadFormulaValues "Formula1", "Maquina1",_
"Modelo2"
Application.LoadFormulaValues "Formula1", "Maquina1",_
"Modelo3"
Application.LoadFormulaValues "Formula1", "Maquina1",_
"Modelo4"
End if
End Sub
368 Fórmulas
E3 – Manual do Usuário
onde CheckBox1 é o nome da caixa de seleção criada. Isto fará com que se o objeto
estiver habilitado, será utilizado o método LoadFormulaValuesQuiet. Caso
contrário, será utilizado o método LoadFormulaValues.
Fórmulas 369
$E $E 06
Bibliotecas 371
$E # !7
A Gallery pode ser acessada através do Organizer na aba Gallery, ou através do
botão Gallery na barra de ferramentas Padrão. Neste item estão disponíveis
uma série de elementos gráficos vetoriais, divididos em categorias, que podem ser
arrastados para as Telas ou então para os ElipseX. Estão disponíveis os seguintes
tipos de símbolos: 3D ISA Symbols, Ar Condicionado, Arquitetura, Setas, ASHRAE
(Controles e Equipamentos), ASHRAE (Dutos), ASHRAE (Canos), Formatos
Básicos, Sopradores e Ventiladores, Prédios, Processos Químicos, Computadores,
Contâineres, Controladores, Esteiras e Linhas de Produção, Dutos, Elétrica, Tubos
Flexíveis, Medidores de Vazão, Símbolos Gerais, Aquecimento, HVAC, Ícones e
Bitmaps, Miscelânea Industrial, Símbolos Internacionais, Símbolos ISA, Mapas e
Bandeiras, Manuseio de Materiais, Canos, Misturadores, Motores, Natureza,
Interfaces Homem Máquina, Painéis, Acessórios Industriais, Dispositivos de
Potência, Resfriamento de Processos, Aquecimento de Processos, Bombas,
Segurança, Escalas, Canos Segmentados, Sensores, Cortes em Tanques, Texturas,
Válvulas, Veículos, Água e Abastecimento, Fios e Cabos, Botões 3D, Caldeiras,
Teclas de Computador, Acabamento, Comida, Laboratório, Maquinário, Minas,
Papel e Polpa.
Para utilizar este recurso, siga estes procedimentos:
372 Bibliotecas
E3 – Manual do Usuário
$E $ 0 6 ,! O & K
Os ElipseX são as bibliotecas de objetos do E3. Podem conter, além de um desenho,
variáveis internas passíveis de serem exportadas para a aplicação, além de lógicas de
programação (scripts) presentes em todas as cópias do objeto sendo criado,
diminuindo a necessidade de repetição de código em diversas partes de seu
aplicativo.
Os ElipseX ficam encapsulados em um arquivo com extensão .LIB. Pode-se criar
todos os ElipseX que serão utilizados num determinado projeto no mesmo arquivo
de Biblioteca (.LIB), ou então dividir entre vários arquivos conforme desejado.
Para criar uma nova biblioteca no E3, siga estes procedimentos:
Bibliotecas 373
Figura 284: Criação de uma biblioteca do usuário - ElipseX
Dentro de uma biblioteca ElipseX, pode-se inserir dois tipos de objetos: os objetos
gráficos XControls e os objetos de dados XObjects.
Os seguintes itens podem ser inseridos em um XControl: Primitivas de Desenho
(Retas, Retângulos, Círculos, etc...); Objetos Gráficos Vetoriais, incluindo objetos
da biblioteca de símbolos (WMF, EMF, etc...); Objetos Gráficos não-Vetoriais
(BMP, JPEG, GIF,etc...); Controles ActiveX do E3 (E3Chart, E3Browser, E3Alarm,
Controles ActiveX de terceiros ); e outros XControls.
Já as bibliotecas de dados podem conter quaisquer tipos de objetos não-gráficos,
executados no E3 Server. O seguintes objetos podem ser inseridos em um XObject:
Drivers de comunicação; DataServers; DBServers; Formulas; AlarmConfigs;
AlarmServers; DBServers; Objetos COM; e outros.
Dentro de um mesmo arquivo .LIB podem existir qualquer número de componentes
ElipseX, sejam eles XControls ou XObjects. Pode-se também ter várias bibliotecas
diferentes dentro do mesmo domínio.
Note que para cada XObject/XControl criado em uma biblioteca são criadas duas
interfaces, uma para declarar as propriedades do objeto, e outra para declarar os
eventos do objeto. Estas interfaces tem o seu nome gerado automaticamente. Para
374 Bibliotecas
E3 – Manual do Usuário
$E $ K !
O XControl define uma interface gráfica com o usuário, que pode ser composta de
quaisquer objetos do E3, que terá o propósito de ser multiplicada facilmente por seu
projeto.Você poderá criar um XControl clicando com o botão direito do mouse sobre
o arquivo LIB criado em seu domínio, escolhendo a opção Inserir— XControl.
Ao inserir um XControl, é aberta a view deste objeto, composta por duas abas. A
primeira é a aba Design, que equivale a uma Tela, onde podem ser inseridos os
objetos gráficos descritos anteriormente. A segunda é chamada de Propriedades,
onde podem ser inseridas variáveis, que são as propriedades do XControl. Estas
propriedades serão “ exportadas” pelo objeto e poderão ser associadas a um tag ou
outra propriedade qualquer quando o objeto estiver sendo usado na aplicação.
As variáveis a serem exportadas, que são os XProperties, podem ser inseridas
pressionando-se a tecla [ . ] do teclado ou através do Botão e excluídos
através do Botão .
As opções disponíveis deste item são as seguintes:
Bibliotecas 375
Opções disponíveis na aba Propriedades
OPÇÃO DESCRIÇÃO
3 Determina o nome da variável do XControl.
) Determina o tipo de dado suportado pela variável.
$ Determina o valor inicial da variável.
,( Habilita/desabilita a visibilidade da variável fora da biblioteca,
isto, é determina se a variável será ou não pública.
- * Texto de declaração e documentação da variável.
NOTA: É interessante observar que podem ser declarados como Tipos, os objetos de
Dados (XObjects).
A edição do objeto gráfico pode ser feita da mesma forma quando você está
editando uma Tela, possuindo os mesmos recursos gráficos e opções.
Você poderá inserir os XControls em qualquer Tela, ou ainda dentro de outro
XControl clicando com o botão direito do mouse sobre a Tela ou XControl de
destino, escolhendo a opção Inserir, como mostrado abaixo:
A partir deste momento, o seu XControl terá um nome dentro da Tela, e será
entendido como uma cópia da definição original. Assim, você deve definir (se
necessário) os valores e/ou associações que esta cópia específica terá no contexto
que está sendo utilizada. Se o tamanho deste objeto for alterado na view de Design
da Biblioteca e registrado novamente, será necessário acessar a opção Tamanho
Original no seu menu de contexto da Tela para que a alteração apareça.
Exemplo: Suponha você criou um objeto “ Bomba” , que possui um XProperty com
o nome de “ Estado” , que receberá uma informação externa revelando se a bomba
está ligada ou desligada, o que fará com que ela mude sua cor. Ao inserir este objeto
na Tela, o E3 automaticamente renomeia o objeto para “ Bomba1” .
Você poderá manter este nome ou renomeá-lo para outro que desejar. Depois,
deverá informar qual variável será associada ao XPropery Estado. Suponha que
certo tag de comunicação representa o estado dessa bomba; logo, deverá ser feita
uma associação entre a propriedade Estado e o referido tag. O mesmo trabalho
376 Bibliotecas
E3 – Manual do Usuário
deverá ser feito para outras instâncias (cópias) do objeto Bomba que se fizerem
necessárias no projeto.
$E $ $ K 68
Além dos Objetos gráficos XControls, você pode criar uma biblioteca de dados,
denominada XObject. Com ela, você pode definir uma estrutura de dados, que será
executada no servidor. Tal estrutura poderá realizar cálculos, associações,
comunicações, verificação de alarmes, registro histórico, etc..., que independam de
que alguma interface gráfica (Viewer) esteja aberta ou sendo executada naquele
momento. Para criar um XObject, clique com o botão direito do mouse sobre o
arquivo LIB no Organizer e escolha a opção Inserir – XObject.
Ao inserir um XObject, é aberta a view deste objeto, onde podem ser inseridas
variáveis. Estas variáveis são as propriedades a serem “ exportadas” pelo objeto,
chamadas XProperties, que poderão ser associadas a um tag ou outra propriedade
qualquer de uma aplicação quando o objeto estiver sendo usado numa aplicação. As
variáveis podem ser inseridas pressionando-se a tecla [ . ] do teclado, e devem
ser definidas as seguintes propriedades para cada uma delas: Boolean, Byte, Integer,
Date, String, Variant, Color,etc.
Note que outros objetos de Dados (XObjects) podem ser declarados como Tipos.
Desta forma, você poderá criar um objeto de dados que possui como propriedade
outro objeto de dados. Os objetos de dados podem funcionar neste caso como uma
"struct" ou "classe", como utilizado nas linguagens C/C++. As variáveis a serem
exportadas propriedades podem ser inseridas pressionando-se a tecla [ . ] do
teclado ou através do Botão e excluídos através do Botão .
As opções disponíveis deste item são as seguintes:
Bibliotecas 377
Opções disponíveis na view dos XObjects
OPÇÃO DESCRIÇÃO
3 Determina o nome da variável do XObject. Este
campo equivale a propriedade Name do XObject.
) Determina o tipo de dado suportado pela variável.
Este campo equivale a propriedade Type do XObject.
$ Determina o valor inicial da variável. Este campo
equivale a propriedade Value do XObject.
,( Habilita/desabilita a visibilidade da variável fora da
biblioteca, isto, é determina se a variável será ou não
pública. Este campo equivale à propriedade Public do
XObject.
Além dos XProperties, podem ser inseridos num XObject qualquer em um módulo
do E3 que seja executado no servidor, a saber:
• Driver de Comunicação e Driver de Comunicação OPC;
• Servidor de alarmes e alarmes;
• Servidor de Banco de Dados;
• Fórmulas;
• Servidor de Dados;
• Históricos.
Isto permite que você possa definir como uma biblioteca, um sistema complexo de
gerenciamento, que poderá ser facilmente replicado quantas vezes forem necessárias
em seu aplicativo.
378 Bibliotecas
E3 – Manual do Usuário
Note que mesmo que seu arquivo ou arquivos de biblioteca possua vários XControls
e XObjects, ao tentar inserir uma biblioteca o E3 Studio exibirá para as Telas
somente os XControls, e para os Servidores de Dados somente os XObjetcs.
NOTA: Você deve cuidar para não deletar uma propriedade de um XControl ou
XObject que possua uma associação. Essas propriedades, uma vez deletadas, não
aparecem mais na lista de propriedades do objeto, e por isso não poderão ser
editadas. Quando for executada a operação "Verificar Domínio", será feita uma
procura por essas propriedades e o usuário é consultado se deseja remover essa
associação ou não.
Você pode optar por não remover e então criar novamente o objeto que foi deletado
com a propriedade que deseja editar, remover apenas a que está sendo mostrada,
remover todas ou não remover nenhuma.
$E ' F ! ! . & K
O uso de Bibliotecas é altamente recomendável devido ao ganho de produtividade
que trazem. Algumas das vantagens dos ElipseX são:
• Reutilização de código;
Bibliotecas 379
• Minimização de testes durante o desenvolvimento;
• Criação de interface padrão para os objetos desenvolvidos;
• Diminuição do tempo de desenvolvimento de novos projetos;
• Proteção do conteúdo do projeto.
Logo, o uso de biblioteca é recomendado para a maioria das aplicações. Entretanto,
existem alguns critérios para indicar a necessidade da construção de objetos no
Elipse:
• Repetição no uso: se um mesmo equipamento ou processo será usado por mais
de uma vez no mesmo projeto;
• Procedimentos do conhecimento do usuário: freqüentemente, um processo
criado por determinada empresa deve ser protegido de cópia ou alteração. Isso é
comum no caso de integradores de serviços ou fabricantes de máquinas;
• Uso de controladores: um controlador de processo, cujo mapeamento de
memória é fixo, pode ser implementado com todas as funcionalidades
disponíveis. A flexibilidade disponível para a construção e uso dos objetos no E3
permite que sejam utilizadas posteriormente apenas as variáveis de interesse,
desprezando-se as demais.
380 Bibliotecas
$ $ >!
$ 68
Este objeto permite que seja especificada a origem dos dados do Banco de Dados
que será visualizado no relatório. Se a propriedade SourceQuery for especificada, o
relatório irá buscar os dados do Banco de Dados indicado.
Caso contrário, o relatório buscará os dados da consulta padrão do sistema. Após ter
criado o relatório no projeto, este cria o objeto consulta. Para maiores informações a
respeito deste objeto, veja o capítulo Consultas.
Relatórios 381
$ $ . >!
Um relatório contém várias seções. Cada seção do relatório contém um grupo de
controles que são processados e impressos ao mesmo tempo, como uma simples
unidade.
$ $ ! 5 !
Um relatório pode ter uma seção “ Report Header” que imprime no início do
relatório. É geralmente utilizado para imprimir títulos de relatório, tabelas de somas,
gráficos ou qualquer outra informação que necessite aparecer somente uma vez no
início do relatório.
NOTA: Um Report Header pode estender-se por múltiplas páginas. Para isto, basta
inserir um objeto Quebra de Página em seu conteúdo.
$ $$ ! < !
A seção Report Footer imprime no final do relatório. É usado para imprimir uma
soma de um relatório, totais gerais ou qualquer outra informação que necessite ser
impressa somente uma vez no final do relatório.
$ $'3 / 5 !
A seção Page Header imprime uma vez o topo de cada página no relatório. É a
primeira seção que imprime na página, exceto quando esta página contém a seção
382 Relatórios
E3 – Manual do Usuário
Report Header. Usada para imprimir totais de páginas, números de páginas, títulos
de páginas ou qualquer outra informação que necessite ser impressa uma vez no topo
de cada página.
$ $13 / < !
A seção Page Footer imprime uma vez a base de cada página no relatório. Usada
para imprimir totais de páginas, números de páginas ou qualquer outra informação
que necessite ser impressa uma vez na base de cada página.
$ $ 2 #! 5 !I#! < !
Um relatório pode ter múltiplos grupos aninhados. Cada grupo possui uma seção
Header e uma seção Footer. A seção Header imprime antes de qualquer seção
Detail no grupo. A seção Footer imprime depois de todas as seções Detail do
grupo. Seções de grupo são inseridas imediatamente antes e depois da seção Detail.
O número de vezes que uma seção de grupo pode imprimir depende de como os
dados são agrupados. O relatório iniciará um novo grupo (Header, Detail e Footer)
para cada mudança nos dados que serão reunidos no grupo.
$ $A
A seção Detail é o corpo do relatório, que imprime uma vez para cada registro da
fonte de dados.
$ ' :/ ! >!
O Relatório possui vários objetos que podem ser agregados a si, que são acessados
através da Barra de Ferramentas Relatório.
Relatórios 383
Clicando com o botão direito do mouse sobre o relatório, é mostrado um menu.
384 Relatórios
E3 – Manual do Usuário
Relatórios 385
• Make Equal: Espaçamento igual entre
os objetos.
• Increase: Incrementa o espaçamento do
objeto em um passo.
• Decrease: Decrementa o espaçamento do
objeto em um passo.
$ ( )( / Determina o espaçamento vertical do objeto. As
opções disponíveis são as seguintes:
• Make equal: Espaçamento igual entre os
objetos.
• Increase: Incrementa o espaçamento do
objeto em um passo.
• Decrease: Decrementa o espaçamento do
objeto em um passo.
2 Determina o formato da borda do objeto do relatório.
386 Relatórios
E3 – Manual do Usuário
$ ' 3! *
Através desta opção, é possível visualizar uma prévia da impressão do relatório.
Assim é possível verificar configurações de margem, figuras, etc.
Relatórios 387
Configurações da Prévia de Impressão
ÍCONE DESCRIÇÃO
Tabela de conteúdo do relatório.
Imprime o relatório, abrindo a Tela de configuração de impressão.
Copia o conteúdo selecionado.
Procura um texto específico no relatório.
Visualização de uma página simples do relatório.
Visualização de múltiplas páginas do relatório.
Menos zoom na página.
Mais zoom na página.
Porcentagem de zoom na página.
Página anterior / Próxima página
$ '$ ! /
Através desta opção, é possível configurar as especificações do relatório, tais como
configurações de página, impressão, grade e estilo do relatório.
A opção PageSetup configura as especificações referentes à página do relatório.
388 Relatórios
E3 – Manual do Usuário
Relatórios 389
As opções disponíveis deste item são as seguintes:
390 Relatórios
E3 – Manual do Usuário
Relatórios 391
$ '' ! & !
O Editor de scripts (Script Editor) é utilizado para criar scripts nos relatórios do
E3. A linguagem utilizada para criar os scripts no relatório é a Active Scripting, que
interage com o Visual Basic. Quando o editor de scripts está aberto, disponibiliza os
métodos e eventos dos objetos e componentes do relatório.
Para utilizar este recurso, acesse Botão Script Editor que está disponível na
Barra de Ferramentas Relatório.
$ '1 !! / ! !% 3K
Exporta a configuração do relatório para um arquivo externo.
$ '2 ! !% 3K
Importa a configuração do relatório de um arquivo externo.
392 Relatórios
E3 – Manual do Usuário
$ 1 68 >!
$ 1 9
O objeto Linha liga dois pontos quaisquer. Permite o desenho de retas, através de
dois pontos especificados na sua criação ou em polígonos.
$ 1$ G /
O objeto Retângulo permite o desenho de retângulos, utilizando toda a
largura/altura do objeto. Criado a partir de dois vértices.
$ 1' G / !!
O objeto Retângulo Arredondado é um retângulo criado a partir de dois vértices,
com cantos arredondados a partir de um fator de arredondamento.
Ao ser inserido ou editado, exibe um pequeno ponto próximo ao canto superior
esquerdo do objeto, que permite modificar o fator de arredondamento.
Relatórios 393
$ 11 &
O objeto Elipse permite o desenho de círculos e elipses, utilizando toda a
largura/altura e definindo o centro do círculo no centro do retângulo.
$ 12 - +
O objeto Texto possibilita de criação de um texto. Ao definir a área na Tela,
podemos digitar diretamente o texto desejado, que aceita também múltiplas linhas.
$ 1A </ !
O objeto Figura permite mostrar imagens que estejam armazenadas em arquivos,
estejam eles dentro ou fora do arquivo do aplicativo.
394 Relatórios
E3 – Manual do Usuário
$ 1B .
O objeto Campo de Dados é utilizado para inserir um dado do Banco de Dados no
relatório. Este dado é indicado através da propriedade DataField.
Relatórios 395
$ 1C + "
O objeto Caixa de seleção insere um dado no Relatório que pode ou não estar ligado
ao Banco de Dados. Seu valor será booleano.
$ 1D > / 6 !!
O objeto Código de Barras permite gerar uma figura que converte uma seqüência
de números e caracteres em um código de barra. Este código de barras é uma
representação numérica ou alfanumérica, utilizada para facilitar diferentes
processos. Este código é decifrado através de scanners, canetas e equipamentos de
leitura óptica.
396 Relatórios
E3 – Manual do Usuário
$ 1 E &' 9 !
O objeto E3Chart é um componente ActiveX utilizado para exibir um gráfico
mostrando tags, variando em tempo real e também mostrar dados históricos
gravados em um Banco de Dados.
$ 1 F 6! 3,/
O objeto Quebra de página é um ponto em que uma página termina e outra começa
no relatório. Por exemplo, você pode forçar uma quebra de página para assegurar
que o título de um capítulo comece sempre em uma nova página. Se você trabalhar
com documentos que contenham diversas páginas e inserir quebras de página
manuais, talvez seja necessário reinseri-las com freqüência à medida que você editar
o documento. Você também poderá impedir que uma quebra de página ocorra em
um parágrafo ou em uma linha de tabela ou assegurar que uma quebra de página não
seja inserida entre dois parágrafos, como entre um título e o parágrafo seguinte.
Relatórios 397
Figura 311: Quebra de página
$ 1 $ F !
O objeto Quadro é composto de linhas e colunas onde são inseridos textos e/ou
gráficos. Os quadros dos relatórios são usados para organizar e apresentar a
informação. Pode-se também usar quadros para criar disposições de página, ou criar
o texto, gráficos e tabelas animadas como em uma página html.
$ 2 ! . >! &'
Esse exemplo contempla a criação de um relatório no E3 para extração de dados de
um histórico.
• Report Header/Footer: Áreas que são impressas uma única vez, não
importando o tamanho do relatório em páginas. Ela vem como abertura ou
fechamento do relatório;
• Group Header/Footer: Um grupo é utilizado para dividir no relatório conjuntos
de valores iguais de uma mesma variável. Essa área se repetirá sempre que um
grupo for apresentado. No exemplo aqui demonstrado não é utilizada nenhuma
construção desse tipo. Essa área sempre “ envolve” uma área de detalhes.
Essas duas áreas podem ser acessadas clicando com o botão direito do mouse, e
acessando a opção ‘Insert’.
Configuração da Consulta
Para a extração de dados de um Banco de Dados, é necessário configurar a consulta
do Relatório. Podem existir várias consultas diferentes para o mesmo relatório,
sendo que apenas uma pode estar ativa em determinado momento.
Para tanto, devem-se seguir os seguintes procedimentos:
Field1: E3Timestamp
Field2: Temperatura1 (como está no Banco de Dados).
Field3: Temperatura2
Visualização do relatório
Sub OnFormat
Report.Sections("ReportHeader").Controls("Image2").Picture =_
LoadPicture ("C:\correio\teste.bmp")
End Sub
Sub OnFormat
Report.Sections("Detail").Controls("BarCode1").
Caption = Right (Report.Field ("E3TimeStamp"), 8)
End Sub
400 Relatórios
E3 – Manual do Usuário
Relatórios 401
Como Criar Relatórios mostrando "Página N de M"
Para criar um relatório que a cada página imprime um indicativo de "Página N de
M" onde N é a página atual e M o total de páginas, crie dois Labels e dois Campos.
Os dois Labels correspondem aos textos "Página" e "de", que devem ser inseridos na
propriedade Caption. Os dois campos correspondem aos valores N e M, com as
seguintes propriedades:
Campo N:
• Name: txtPageNumber
• SummaryGroup: GroupHeader1
• SummaryRunning: 1-ddSRGroup
• SummaryType: 4-ddSMPageCount
Campo M
• Name: txtPageCount
• SummaryGroup: GroupHeader1
• SummaryType: 4-ddSMPageCount
402 Relatórios
E3 – Manual do Usuário
Relatórios 403
$$ $$ / !
Eventos do Usuário
EVENTOS DESCRIÇÃO
/ Ocorre quando um usuário executa um login de sistema
(autenticação de usuário) com sucesso. O login de sistema
pode ser feito através da execução do método Login () ou
quando um objeto só pode ser acessado com um determinado
nível de autorização, exigindo assim, sua autenticação.
/ Ocorre quando é executado um “ logout” , ou seja, a saída do
usuário do sistema. O logout é feito através da chamada do
método Logout ().
Propriedade do Usuário
PROPRIEDADE DESCRIÇÃO
%. Esta propriedade identifica o nome do usuário que está
utilizando o Viewer.
Segurança 405
Métodos do Usuário
MÉTODOS DESCRIÇÃO
/ ..7 Este método abre uma caixa de diálogo para permitir
a troca de senha do usuário corrente. O método
retorna True, se o usuário corrente tem permissão de
trocar a senha. Caso contrário, retorna False,
indicando que houve falha na operação ou não é
possível trocar a senha, porque o usuário não tem
autorização.
.%. , 5 ) Este método verifica se o usuário logado no Viewer
corrente pertence a um determinado grupo.
/ Abre uma caixa de diálogo para o “ login”
(autenticação do usuário) no projeto.
/ Executa o logout (saída do usuário corrente da
aplicação) do Viewer.
..7 5 O método abre uma caixa de diálogo solicitando a
reconfirmação da senha do usuário atualmente
logado. Este método retorna True se a senha foi
confirmada e False, caso contrário. Se a caixa de
diálogo for fechada através do botão [ ( ], o
método retorna False. Caso não haja usuário logado,
o método retorna False, mas sem abrir a caixa de
diálogo. Caso a senha digitada não esteja correta, a
solicitação é repetida no máximo até três vezes e é
fechado, retornando False.
%. + . Este método abre uma caixa que permite editar a lista
de usuários do E3 Server.
Obs.: Apenas o administrador pode ter acesso a este
método. A caixa de configuração dos usuários é
acessível somente ao usuário habilitado como
“ administrador” . O usuário administrador não pode se
excluir e não pode marcar seu tipo para “ não-
administrador”. Esta opção não funciona no modo
Somente Leitura.
406 Segurança
E3 – Manual do Usuário
$$ ,!
Através da opção Usuários é possível configurar as informações referentes aos
usuários que terão ou não acesso ao sistema. Para utilizar este recurso, é preciso
acessar o Menu Arquivos— Usuários, e clicar na aba Usuários. Após a sua
configuração, somente os usuários listados terão acesso ao sistema.
Segurança 407
Quando o Botão [3 ] é acionado, a seguinte caixa de mensagem é mostrada:
408 Segurança
E3 – Manual do Usuário
Segurança 409
Estes privilégios são acessados via script através do método UserAdministration(),
que habilita a caixa de diálogo dos usuários em runtime.
410 Segurança
E3 – Manual do Usuário
$$ $ #!
A opção Grupos permite que sejam configuradas as informações referentes aos
grupos. Cada grupo define características que serão comuns para todos os seus
membros (usuários). Um grupo também pode pertencer a outros grupos. Só não é
permitido pertencer a outro grupo que já pertença a ele, ou seja, uma referência
circular.
Para utilizar este recurso, é necessário acessar o menu Arquivos— Usuários e
selecionar a aba Grupos.
Figura 315:Grupos
Segurança 411
As opções disponíveis deste item são as seguintes:
412 Segurança
E3 – Manual do Usuário
Segurança 413
Figura 317: Lista de seleção do grupo
414 Segurança
E3 – Manual do Usuário
Figura 319: Selecione o grupo pela qual o grupo corrente irá pertencer. O mesmo será mostrado no campo
Pertence a
NOTAS:
- Um grupo pode pertencer a outro grupo. Só não é permitido pertencer a ele mesmo,
ou pertencer a outro grupo que já pertença a ele, ou seja, uma referência circular.
Segurança 415
$$ ' 3 !.
A aba Permissões permite configurar as permissões dos usuários e grupos a Telas e
alarmes. Uma verificação de permissão consiste em uma informação que o membro
do grupo tem sobre um comando que atua sobre um objeto específico.
Por exemplo: “ Usuário1” tem permissão para o comando “ Abrir” sobre o objeto
“ Tela1” . Cada membro do grupo pode negar ou afirmar a permissão de um
comando, independente do grupo que ele pertence. Desta forma, ele não vai levar
em consideração a informação do grupo. Também se pode optar por sempre utilizar
a informação definida pelo grupo. Se as informações dos grupos forem conflitantes,
será usada a seguinte ordem de preferência: Negar > Afirmar > Indiferente.
416 Segurança
E3 – Manual do Usuário
Segurança 417
Quando a opção Permissões é clicada, disponibiliza vários tipos de restrições de
permissões para os usuários/grupos. As opções de permissões disponíveis no sistema
são as seguintes:
Permitir comando: Habilitando esta opção, o usuário/grupo poderá acessar o
item de segurança (Tela/alarme/domínio). No caso do item de segurança Tela, é
possível abrir a Tela determinada.
No caso do item de segurança Alarmes, será inserido um novo registro no Banco de
Dados, indicando o reconhecimento do alarme. No objeto de visualização do alarme,
por exemplo, o E3Alarm, a linha correspondente indicará que o alarme foi
reconhecido. Este usuário/grupo poderá reconhecer globalmente todos os alarmes, os
alarmes do filtro corrente ou somente um alarme selecionado.
Para habilitar este comando, selecione o item de segurança desejado e dê um clique
sobre o ícone ou clique com o botão direito sobre o campo Permissões e
selecione a opção Permitir comando. O sistema mostrará o ícone (ícone verde
claro cheio), indicando a permissão ao item.
NOTA: Em uma aplicação, todos os usuários têm acesso a Tela de abertura. Caso
deseje que a aplicação sempre inicie com o login do usuário, crie um usuário “ Ex:
Usuário1” que não tenha permissão na Tela inicial. Assim, toda vez que for iniciada
a aplicação, o sistema pedirá o login do usuário e após, mostrará a Tela de abertura
do mesmo.
418 Segurança
E3 – Manual do Usuário
Segurança 419
Usar a informação do grupo: Este recurso utiliza as informações do grupo
em que o grupo/usuário está contido. No caso do item de segurança Tela, se o grupo
em que o usuário/grupo estiver inserido permitir o comando Abrir Tela, o
usuário/grupo poderá abrir a Tela, pois o grupo pela qual ele pertence permite este
comando. O mesmo acontece no caso do item de segurança Alarmes, pela qual o
grupo/usuário poderá reconhecer o alarme, pois o grupo a que ele pertence permite o
reconhecimento.
Mas, se o grupo em que o usuário/grupo estiver inserido não tiver acesso aos itens
de segurança, o usuário/grupo não poderá abrir a Tela, no caso do item de segurança
Tela, e/ou não poderá reconhecer o alarme, no caso do item de segurança Alarme.
Para habilitar este comando, selecione o item de segurança desejado e dê um clique
sobre o ícone ou clique com o botão direito sobre o campo Permissões e
selecione a opção Usar a informação do grupo. O sistema mostrará o ícone
conforme as especificações do grupo: ícone verde vazado , caso o grupo tenha
permissão aos itens de segurança e ícone vermelho vazado , caso o grupo não
tenha acesso aos itens de segurança.
Figura 326: Informação do grupo pela qual não permite o acesso as Telas
420 Segurança
E3 – Manual do Usuário
Não informado: Habilitando esta opção, indica que o usuário/grupo está usando
as definições do grupo, que no momento não está restrito aos itens de segurança.
Sendo assim, o comando é considerado permitido e o usuário/grupo poderá abrir a
Tela e/ou reconhecer o alarme. Este comando pode ser acessado através do duplo
clique sobre o ícone do item . O sistema mostrará o ícone (ícone vazado),
indicando que não há restrições aos itens de segurança.
Figura 329:Parâmetro não informado para o alarme Figura 330: Parâmetro não informado para a Tela
Segurança 421
As opções de permissões disponíveis no item de segurança Domínio são as
seguintes:
• Executar domínio: Determina a execução do domínio;
• Parar domínio: Pára a execução do domínio;
• Editar domínio: Abre a caixa de diálogo de configuração do domínio;
• Executar como serviço: Executa o domínio como serviço;
• Configurar usuários/grupos: Abre a caixa de diálogo de configuração dos
usuários/grupos.
Figura 333: Mensagem indicando que o usuário não tem permissão de executar o domínio
Para utilizar as configurações do grupo pela qual o usuário está inserido, selecione o
item de segurança Domínio, marque o item desejado na lista de Permissões e dê um
triplo clique sobre o ícone ou clique com o botão direito sobre o mesmo e
selecione a opção Usar a informação do grupo.
Ícone vazado: Caso o grupo onde o usuário está inserido não tenha restrições a
qualquer uma das opções da lista de permissões do item de segurança Domínio;
Ícone verde vazado: Caso o grupo onde o usuário está inserido tenha permissão
a qualquer uma das opções da lista de permissões do item de segurança Domínio;
Ícone vermelho vazado: Caso o grupo onde o usuário está inserido não tenha
acesso a qualquer uma das opções da lista de permissões do item de segurança
Domínio.
Não quero usar a verificação de permissões: Com esta opção habilitada, não será
feita a verificação de permissão, mesmo que existam usuários com restrições. No
caso de não existir usuários, não será feito à verificação de permissões.
424 Segurança
E3 – Manual do Usuário
A opção Login abre uma caixa de diálogo para o “ login” (autenticação de usuário)
na aplicação. O usuário permanece na memória até que seja feito outro login ou
logout (saída do usuário da aplicação).
Quando uma Tela vai ser aberta (através do método OpenScreen()), é verificado se
existe alguma configuração de segurança. Caso exista, a Tela só será aberta se o
usuário logado tiver permissão. Caso não tenha permissão, uma mensagem é
mostrada, conforme figura abaixo:
Segurança 425
$$ 1 3! " !%
Protege o conteúdo de um arquivo .prj ou .lib contra a edição, visualização ou
execução não-autorizada.
Para utilizar este recurso, siga estes procedimentos:
426 Segurança
E3 – Manual do Usuário
Segurança 427
Proteção de Execução: Esta opção é utilizada para proteger o seu arquivo contra
execução não autorizada. Para tanto, é necessário solicitar a gravação de uma senha
de proteção no Hardkey, que é feita pela Elipse Software. Isto protege o
desenvolvedor de cópias não-autorizadas do projeto, por exemplo. Para isso, no
momento do pedido de licença do E3 Server, é necessário fornecer a senha de
execução. Entretanto, esse processo pode ser feito posteriormente à compra do
servidor.
O botão [+ ( ) 1 ] permite configurar uma senha de proteção para o
0
sistema.
direito sobre o projeto ou biblioteca e selecione a opção Abrir com senha. Após
informar a senha e o sistema liberar o acesso, o ícone fica colorido , indicando a
acessibilidade dos arquivos.
O conteúdo dos Libs e prj protegidos são criptografados. Quando um projeto é
protegido, as propriedades DocString e Domain são bloqueadas.
Segurança 429
$' $' &' ) * ! &' ? 6) * !
E3 WebViewer 431
$' ) * ! 7L . !M
O modo Viewer Only (modo Somente Leitura, ou de acesso restrito) é uma maneira
de controlar o acesso que o Viewer tem ao servidor (Domínio), em oposição ao
modo Viewer Full, que não possui restrições de acesso.
Através da configuração da permissão de usuários (capítulo Segurança), e de
acordo com o tipo de licença de Viewer em uso (capítulo Domínio), o servidor irá
determinar se o Viewer está no modo Full (normal) ou Only (restrito). Quando ele
está no modo Only, são aplicadas diversas restrições quanto às ações que podem ser
escritas no servidor. Neste modo estão bloqueados (seja por erro de script ou por
gerar mensagem de erro):
• Escritas em geral em propriedades de objetos do servidor através do Viewer por
associações.
• Escritas em geral em propriedades de objetos do servidor através de scripts do
Viewer.
• Métodos SetValue() e ToggleValue() do Viewer (incluindo-se aí os picks
Carregar / Inverter Valor).
• Chamadas de métodos de objetos do servidor através de scripts do Viewer
(exceções a seguir).
• Administração de usuários através do Viewer (uso do método
UserAdministration() do Viewer).
• Reconhecimento de alarmes pelo E3Alarm.
• Uso dos métodos LoadFormulaDlg(), LoadFormulaValues() e
LoadFormulaValuesQuiet() do Viewer.
Permanecem permitidos neste modo:
• Leituras de propriedades de objetos do servidor, tanto por associações como por
scripts.
• Chamadas de métodos considerados não-restritos de objetos do servidor em
script do Viewer. São estes: Item() (todos os objetos); Refresh() (grupo OPC);
FindUnit(), FindValue(), GetValueData() e GetUnitData() (Fórmula);
GetAlarm() (Fonte de Alarmes); GetE3QueryFields(), GetADORecordSet() e
GetAsyncADORecordSet() (Consulta); e GetObject() (ServerApplication).
• Mudanças do estado de Advise de tags do servidor.
• Mudança da própria senha (método ChangePassword() do Viewer).
432 E3 WebViewer
E3 – Manual do Usuário
$' . ) * !
Para que o usuário acesse o E3 no modo Somente Leitura, pelo menos uma destas
duas condições deve ser verdadeira:
• Licença em uso do tipo Viewer Only;
• Usuário logado sem permissão para o item “ Acesso de escrita ao servidor”
É importante lembrar que no caso de não haver usuário logado no Viewer (usuário
anônimo), será aplicada a restrição de acesso desde que pelo menos um ou mais
usuários tenha esta restrição.
Desta forma, cada vez que ocorre uma mudança de usuário o modo de acesso do
Viewer pode ser mudado (e conseqüentemente a propriedade IsViewerReadOnly), de
acordo com a combinação do que é permitido pela licença em uso e a permissão do
usuário logado.
A mudança do modo de acesso também pode acontecer caso ocorra a reconexão do
Viewer, já que esta pode provocar tanto a mudança de licença (de Viewer Full para
Viewer Only, ou vice-versa) quanto a mudança das permissões do usuário logado.
Caso haja algum usuário com “ Acesso de escrita ao servidor” bloqueado no
momento da abertura do Viewer, este entra automaticamente no modo Somente
Leitura, independentemente da licença em uso, já que o usuário anônimo sempre
assume a restrição máxima configurada.
E3 WebViewer 433
$' $ &+ " &' ) * !
Existem três formas de se executar o E3 Viewer: através de um servidor local, de um
servidor na intranet, ou de um servidor na internet. Nas seções abaixo, estas formas
serão detalhadas.
E3 WebViewer 435
Figura 346: E3 Viewer
$' ' / ) * !
O E3 permite a geração de logs do E3 Viewer. Estes logs são gerados quando o E3
Viewer é executado, e são gravados na pasta C:\E3Logs (se ela existir). Para obter
maiores informações sobre a geração de logs no E3, verifique o tópico Criando
Logs no E3, no capítulo Domínios.
436 E3 WebViewer
E3 – Manual do Usuário
para:
Caso se queira permitir ao usuário informar uma tela inicial válida, diferente da
configurada no domínio, deve-se alterar a linha abaixo, colocando em
“ Nome_da_tela” um nome de Tela válido na aplicação:
E3 WebViewer 437
Exemplo:
<html>
<head>
<title></title>
</head>
<object classid="clsid:7EB4D157-FACC-45BB-9536-C14B9DCE3CA7"
id="E3 Viewer1" width="100%" height="100%" align="center">
<param name="_Version" value="65536">
<param name="_ExtentX" value="19209">
<param name="_ExtentY" value="14552">
<param name="_StockProps" value="0">
<param name="Domain" value="\\luciano">
<param name="StartReadOnly" value="False">
</object>
</body>
</html>
$' 1 &' !
Para que aplicações E3 estejam disponíveis na web é preciso utilizar um servidor de
internet que rode corretamente os scripts da página do controle E3 WebViewer.
Qualquer servidor de internet pode ser utilizado, desde que ele execute páginas .asp.
Um deles é o servidor IIS (Internet Information Services), fornecido juntamente com
o Windows ®. Para acessá-lo, siga estes passos:
E3 WebViewer 439
é assinado pela Elipse Software, e o usuário deve aceitar sua instalação para que ele
inicie as configurações necessárias.
NOTA: A versão do cliente tem que ser necessariamente a mesma que a do servidor.
Para isto, os instaladores no servidor (e3-w2kwebviewer.exe, e3-w2kwebviewer-
us.exe, e3-w2kwebviewer-de.exe, e3-w98webviewer.exe, e3-w98webviewer-us.exe
ou e3-w98webviewer-de.exe) devem ser sempre os mais recentes.
$' 1 $ &' ! . ,%
Para a visualização de aplicações E3 em máquinas remotas que estejam dentro de
uma rede local pode-se ou não utilizar o servidor de internet. Se optar por utilizá-lo,
o procedimento é o mesmo descrito na seção anterior.
Caso não se queira utilizar um servidor de internet, o procedimento é mais simples, e
aplica-se tanto para o uso do E3 WebViewer e o E3 Server em máquinas diferentes
(intranet), quanto para ambos na mesma máquina (acesso local). Basta alterar o
arquivo E3Web.asp e colocar o nome da máquina onde o E3 Server está rodando.
Para isso, substitui-se a linha
<param name="Domain" value="\\<%=
Request.ServerVariables("SERVER_NAME")%>\">
por
Hot-StandBy 441
$1 &+ . . !6
Para executar um domínio distribuído, basta iniciar um dos seus servidores, os
outros servidores são automaticamente iniciados pelo primeiro servidor. Para iniciar
um domínio, crie um atalho para o E3 Server com a seguinte linha de comando:
E3 Server.exe –start c:\folder\domain.dom
Este comando pode ser feito inclusive de um servidor que não faz parte no domínio.
Este servidor irá iniciar os servidores do domínio e depois será automaticamente
fechado. Um domínio pode ser iniciado também através do Studio. Para tanto, basta
abrir o domínio e clicar no botão .
$1 $ 3 ! . . !6
Um domínio pode ser parado por qualquer um dos seus servidores, através do ícone
$1 ' 3 ! . ! ! .
A maneira correta de parar um dos servidores do domínio é marcá-lo como Em
manutenção... na configuração do domínio. Se o servidor ativo for colocado em
manutenção, o servidor standby irá passar para o estado ativo. Para recolocar o
servidor no domínio, desmarque a opção Em manutenção... deste servidor.
$1 1 - . ! ! ! !
O tempo padrão para o Servidor Backup assumir quando ocorre uma falha do
servidor ativo é de 15 segundos. No entanto, é possível configurar este tempo
através do item “ Tempo para ativação do servidor reserva” (conforme explicado
no tópico “ Opções do domínio” do capítulo “ Domínios” ).
Este tempo permite que o servidor anterior termine a execução do aplicativo (caso a
falha seja de rede apenas). O tempo configurado afeta diretamente o timeout do ping
entre os servidores. Se ficar muito baixo (troca em 1 segundo, timeout de ping = 160
ms), podem ocorrer trocas espontâneas de servidor causadas por pequenas falhas de
rede.
442 Hot-StandBy
E3 – Manual do Usuário
$1 2 +" ) * !
Quando há uma troca de servidores, os Viewers entram em processo de reconexão,
tentando alternadamente conectar com o servidor backup e com o ativo. O usuário
tem a opção de esperar o fim do processo de reconexão com o Viewer atual,
cancelar a reconexão (e fechar o Viewer) ou abrir uma nova sessão Viewer com o
novo servidor.
$1 A @ 0 . 5 ( 67
Podemos ter dois servidores rodando separadamente numa mesma aplicação. Um
deles fica ativo, enquanto que o outro fica em estado de espera (standby),
aguardando uma possível falha.
O Hot-Standby garante a continuidade da aplicação, mas quando utilizamos Banco
de Dados, também temos que garantir a continuidade do acesso à base de dados.
Temos duas maneiras de resolver este problema. Na primeira, ambas as aplicações
acessam uma mesma base de dados. Habilitamos o acesso ao BD na aplicação,
configurando o objeto DBServer em ambos servidores (Principal e StandBy) com os
mesmos parâmetros de localização do BD na rede. Para garantir a continuidade do
sistema, é importante que a base de dados esteja em uma máquina separada,
acessível aos dois servidores.
Na segunda maneira, a gravação de dados é feita em bases diferentes. Neste caso, o
ideal é se ter os dois bancos de dados rodando localmente, em ambos servidores.
Assim, garantimos que o acesso ao BD estará sempre disponível, pois a máquina que
está rodando a aplicação também roda o Banco de Dados.
Uma opção interessante nesse caso é o sincronismo entre as diferentes bases da
aplicação principal e a secundária. A propriedade EnableSynchronization do objeto
DBServer habilita essa característica na aplicação. Quando ela está ativa, todos os
dados gravados na base principal são atualizados na base em Standby quase que
instantaneamente.
Hot-StandBy 443
$1 B :/ ! 5 ( 67
O Hot-Standby permite a implementação do conceito de “ fail-over” em um sistema
supervisório. Esse conceito consiste na possibilidade de se ter dois servidores
(principal e backup) atuando um como contingência do outro, ou seja, se o servidor
principal falhar, um servidor de backup entra em ação imediatamente, sem perda da
continuidade do processo. Esse servidor em espera, dizemos que está em “ Standby” .
As configurações que deverão ser feitas para implementar o Hot-Standby são as
seguintes:
444 Hot-StandBy
E3 – Manual do Usuário
Hot-StandBy 445
Figura 351: Configuração da distribuição em rede
446 Hot-StandBy
$2 $2 N . :! %P
$2
$2 ! . - 6
“A ordem dos objetos em runtime é diferente da configurada no Studio. Por que isto
ocorreu?”
POSSÍVEL CAUSA:
Quando um novo objeto é criado na Tela, atribui-se a ele a primeira posição, e ele é
ordenado em seqüência decrescente aos demais objetos da Tela.
SOLUÇÃO:
Para manter a ordem inicial dos objetos, é necessário seguir os seguintes
procedimentos:
Após ter criado o objeto na Tela, clique na opção Ordem dos Tabs .
Com a tecla [ # ] pressionada, clique no penúltimo objeto.
Solte a tecla [ # ] e clique no último objeto (objeto criado
anteriormente).
OBS: O valor da opção Ordem dos Tabs é o mesmo do Z-Order. Z-Order é o valor
da ordem de sobreposição dos objetos da Tela.
“Criei uma animação com rotação/translação na Tela, mas decidi mudá-la, criando
uma nova animação. No entanto, quando fui executar a aplicação, o objeto apareceu
com a animação inicial, e não com a animação corrente. Por que isto ocorreu?”
POSSÍVEL CAUSA:
A nova animação foi criada sem que a anterior tenha sido removida.
SOLUÇÃO:
Para solucionar esta questão, siga estes procedimentos:
$2 $ 68 -
“Não consigo rotacionar uma figura inserida através da Gallery. Por que isto
ocorre?”.
RESPOSTA:
Devemos converter o objeto em símbolo. Isto permite que sejam utilizados os
comandos e opções disponíveis aos objetos que são nativos do E3, como por
exemplo, o uso da rotação.
$2 ' ! ! 0 F ! !
Abaixo serão listados os possíveis erros que podem ocorrer ao se testar a conexão
com este Banco de Dados:
POSSÍVEL CAUSA:
Nome do Servidor errado na configuração do ServidorDB ou o usuário não tem
acesso àquele banco.
SOLUÇÃO:
Verificar o nome do servidor utilizado e se o usuário possui permissão de se
conectar aquele banco.
POSSÍVEL CAUSA:
Erro no nome do usuário ou senha.
SOLUÇÃO:
Utilize um usuário cadastrado no banco ou verifique a senha utilizada.
POSSÍVEL CAUSA:
Já existe um objeto (tabela, chave, índice, etc) no Banco de Dados com este mesmo
nome.
SOLUÇÃO:
Mudar o nome do objeto.
$2 1 ! ! 0 !
Abaixo serão listados os possíveis erros que podem ocorrer ao se testar a conexão
com este Banco de Dados:
POSSÍVEL CAUSA:
Mensagem gerada em log quando a senha ou usuário está incorreto.
SOLUÇÃO:
Verificar se o usuário existe e se a senha utilizada está correta.
POSSÍVEL CAUSA:
A conexão cliente utilizada não foi encontrada.
SOLUÇÃO:
Verificar se a conexão utilizada está criada no micro e se ela está funcionando
através dos softwares utilitários de rede do Oracle.
Dúvidas mais freqüentes 449
“Error = ORA-02264: nome já usado por uma restrição existente”
POSSÍVEL CAUSA:
Já existe um objeto no Banco de Dados com este mesmo nome.
SOLUÇÃO:
Para evitar esse erro, crie e configure diferentes nomes de índices ou chaves
primárias no E3.
POSSÍVEL CAUSA:
Esta mensagem é gerada quando uma pesquisa interna do E3 procura por objetos no
Banco e não os encontra (ex.: a tabela de Históricos não existia, deve ser criada).
SOLUÇÃO:
Isto seria considerado um erro apenas se persistisse nos logs da aplicação.
POSSÍVEL CAUSA:
Sempre que for feita uma tentativa de escrita de um registro onde o campo definido
como chave primária tiver o valor repetido, a escrita será recusada e a mensagem
acima será exibida. É interessante verificar que o nome da chave é mostrado (neste
caso, a chave O "3& 6) no formato %. E 3 . Dependendo
do projeto, esse erro é esperado, mas na grande maioria é importante verificar se a
chave é a mais adequada. Para ilustrar essa afirmação, poderemos ver dois casos:
• Sistema de Telemedição de Energia: Visando gravar todos os dados de um
dia, as rotinas usadas para coletar admitem tolerâncias a mais e a menos no
horário a ser coletado. Assim, alguns dos registros terão de ser escritos mais de
uma vez. Neste caso, a ocorrência desse erro é esperada.
• Manutenção de alarmes: Para esse caso, pode haver mais de um erro por
segundo no sistema. Se o campo E3TimeStamp for usado como chave-
primária, pode haver a perda de algumas ocorrências de alarme, o que prejudica
a análise posterior dos eventos. Neste caso, re-estudar a chave-primária pode ser
a solução adequada.
SOLUÇÃO:
Há duas maneiras de solucionar esta questão:
$2 2 ! !
“A propriedade Retentive do tag interno não está funcionando, pois ele não guarda o
último valor ao parar o Domínio. O que pode estar errado?”
RESPOSTA:
A propriedade Retentive não tem este objetivo. Ela tem utilidade apenas em
aplicações hot-standby, para manter o valor do tag interno quando houver uma troca
de servidor.
RESPOSTA:
Use o método Save() do Servidor de Dados.
“Como eu mostro a data e a hora atual do sistema em uma tela da minha aplicação?”
RESPOSTA:
Crie um tag demo do tipo CurrentTime e associe-o a um display na Tela. O formato
de data e hora pode ser configurado na aba Formatação das propriedades do
display.
RESPOSTA:
Com um tag demo do tipo CurrentTime. É só armazenar o valor do tag demo em um
tag interno no início da contagem e em outro tag interno no final da contagem. A
diferença entre o valor dos dois tags internos será igual ao tempo percorrido.
RESPOSTA:
Com um tag demo do tipo "Square". O tag deve ter a propriedade Enabled igual a
False e a propriedade Period igual a duas vezes o tempo limite em milissegundos. A
atribuição da propriedade Enabled ao valor True iniciará a contagem do tempo. Para
executar um script qualquer no término do temporizador, basta criar um evento
associado à propriedade Value do tag demo, que seja executado quando a
propriedade alterar o seu valor. Neste script também se deve desabilitar o tag demo,
ou seja, atribuir à propriedade Enabled o valor False, para que ele não continue
variando.
Recomenda-se usar o método Reset() do tag demo antes de atribuir à propriedade
Enabled o valor True.
RESPOSTA:
Para usar os bits de um tag de comunicação, deve-se habilitar a propriedade
UseBitFields do tag.
RESPOSTA:
A contagem considera os tags de comunicação e o tamanho dos blocos de
comunicação. Os bits não entram na contagem.
“Qual a maneira mais fácil de fazer piscar a cor de um objeto na Tela quando houver
um erro de comunicação?”
RESPOSTA:
Crie uma associação digital entre a propriedade ForegroundColor do objeto e a
expressão NomeDoTag.Quality < 192, com a opção de pisca habilitada. A
propriedade Quality representa o estado da qualidade do valor do tag, no padrão
OPC, e pode variar de 0 a 255, sendo que a qualidade é boa apenas acima de 192.
RESPOSTA:
Habilite a opção Erros de Comunicação no objeto Viewer, na aba Erros de
Comunicação.
RESPOSTA:
Acesse o objeto Viewer, e altere a cor desejada na aba Erro de Comunicação.
$2 B !.
POSSÍVEIS CAUSAS:
O arquivo CSV para os alarmes que você quer importar possui um erro nas colunas
do alarme do tipo indicado. Arquivos de alarmes devem ter sempre o número
mínimo de colunas esperado, de acordo com cada tipo. Colunas extras são
desprezadas. Para saber a maneira correta de criar um arquivo CSV para alarmes,
veja a seção Criando um arquivo CSV manualmente, no capítulo Alarmes.
SOLUÇÃO:
Você tem três possíveis respostas à pergunta feita na mensagem de erro:
• Sim: Você irá prosseguir a importação dos alarmes contidos no arquivo CSV,
ignorando apenas este erro de número de colunas. O alarme cujas colunas estão
incorretas não será importado.
• Sim (Todos): Você irá prosseguir a importação dos alarmes ignorando todos os
demais alarmes com erro no número de colunas que possam existir no arquivo
CSV.
• Não: A importação será interrompida, mas os alarmes já importados são
preservados.
Para que este erro não ocorra, o arquivo CSV deve ser feito de acordo com as
recomendações do capítulo Alarmes.
RESPOSTA:
Verifique as configurações regionais no Painel de Controle do Windows, e confirme
se o caractere separador é o mesmo utilizado no arquivo CSV. DICA: crie um
alarme no E3 e utilize a ferramenta de exportação, utilizando-o como modelo para a
geração dos novos alarmes.
RESPOSTA:
Use o formato Outros, digitando “ dd/MM/yyyy HH:mm:ss.000” . Esta configuração
para o E3Browser é feita na aba Fontes de Dados, na coluna Formato de cada
campo. Para o E3Alarm, tal configuração é feita na aba Colunas, clicando no botão
[ ) .] de cada campo.
RESPOSTA:
O nome do servidor de alarmes não foi especificado no E3Alarm, ou então está com erro.
Para que o E3Alarm consiga capturar e exibir os alarmes ativos, é necessário configurar o
nome do servidor de alarmes que será acessado. Para isso, modifique o item Nome do
RESPOSTA:
• Para apagar um tag que está associado a um alarme: Selecionar o tag desejado
com o mouse e apertar a tecla [& ].
• Para apagar um alarme: Selecionar o alarme desejado com o mouse e apertar a
tecla [& ].
• Para apagar uma área: Selecionar a área desejada com o mouse e apertar a tecla
[& ].
$2 C &' !.
POSSÍVEIS CAUSAS:
Para checar a configuração do E3Alarm, verifique que o nome do servidor esteja
configurado corretamente. Outra causa possível é a existência de mais de um
servidor de alarmes no domínio, o que causa problemas. Mais uma causa possível
seria um filtro configurado para uma área de alarme inexistente.
SOLUÇÃO:
Certifique-se de que existe apenas um servidor de alarmes no seu domínio e que
todos os alarmes estão configurados corretamente. Confira também se a área
configurada existe.
RESPOSTA:
Primeiro, agrupe as áreas em uma área principal. Depois, use nomes com os mesmos
caracteres iniciais. Exemplo: “ ALM1MEC” , “ ALM1ELE” , “ ALM2MEC” ,
“ ALM2ELE” , etc.
RESPOSTA:
Habilite a opção Reconhecer Alarme, localizada nas propriedades da coluna
desejada no objeto E3Alarm, na aba Colunas.
$2 D &'0! * !
RESPOSTA:
Este item pode ser configurado na consulta do E3Browser. É só habilitar a caixa de
seleção Retornar no máximo ... registros, especificando o número máximo de
registros a serem retornados. Outra opção é otimizar a consulta a ser feita utilizando
os filtros para restringir o período, a quantidade de colunas ou registros envolvidos,
etc. Para isto, veja o capítulo Consultas.
$2 E &' 9 !
RESPOSTA:
Sim. Via scripts, é possível configurar o E3Chart para isto:
Set Pena = Screen.Item(“E3Chart1”).Pens
Pena.Item(“Nome da Pena”).ShowBadPoints = False
Observe, no entanto, que esta solução somente é válida para valores históricos. Em
tempo de execução, o valor será sempre plotado, independente da qualidade do tag.
$2 5 >!
RESPOSTA:
Configure a opção Gravar um novo script a cada..., da aba Histórico, nas
Propriedades do Histórico, com valor 0. Se desejar fazê-lo por script, a propriedade
é a ScanTime. Com isto, os valores não serão registrados automaticamente, sendo
necessário fazer o registro via script utilizando o método WriteRecord().
RESPOSTA:
Associando a propriedade Value de um tag interno à expressão desejada. A
expressão pode ser do tipo simples e pode conter operadores aritméticos e lógicos
envolvendo constantes e outros tags.
RESPOSTA:
Criando uma associação digital entre as propriedades ForegroundColor e
MouseOver de um objeto. A propriedade MouseOver é do tipo booleana, e assume o
valor True quando o mouse estiver sobre objeto e False quando o mouse estiver fora
da área do objeto.
RESPOSTA:
Há duas formas de se fazer isto. Uma delas é criar um tag interno no Viewer para
cada string e associar estes tags às propriedades que devem ser traduzidas (ou
utilizar os tags por script no caso de usar um Msgbox). Depois, crie uma tabela com
todos os strings da aplicação, onde a primeira coluna é o nome do tag interno criado
no Viewer, e cada coluna seguinte contém o string correspondente a um idioma. Esta
tabela pode ser no Access, por exemplo. Ao abrir o Viewer e definir o idioma,
carregue os tags internos do Viewer com os strings da tabela correspondente ao
idioma escolhido. Isto pode ser feito utilizando um objeto Consulta na tela. Segue
um exemplo de script:
Sub Tela1_OnPreShow(Arg)
set rs = Item(“Query1”).GetADORecordset()
rs.MoveFirst
for i = 1 to rs.RecordCount
Application.Item(rs.Fields(“NomeTag”).Value).Value = _
rs.Fields(Arg).Value
‘Arg é um parâmetro passado para a tela contendo o nome
‘da coluna referente ao idioma escolhido
rs.MoveNext
next
End sub
Outra maneira é criar uma associação por tabela em todas as propriedades que
possuírem conteúdo a ser traduzido, usando para todas as associações a mesma
fonte. Em cada faixa de valores da associação, coloque um string referente a um
idioma diferente. A fonte pode ser um tag interno cujo valor pode ser definido ao
456 Dúvidas mais freqüentes
E3 – Manual do Usuário
abrir o Viewer. No caso do MsgBox, usar o mesmo tag como condição para escolher
qual o string que será utilizado.
$2 ' ) * !
“Não consigo conectar um Viewer remoto ao Servidor. Por que isso está
acontecendo?”
POSSÍVEL CAUSA:
Existe um firewall bloqueando o acesso ao servidor.
SOLUÇÃO:
Deve-se liberar as portas utilizadas pelo E3. Esta informação pode ser encontrada no
site da Elipse Software, na seção de artigos.
“Não consigo abrir um Viewer remoto pelo Internet Explorer. Por que isso está
acontecendo?”
POSSÍVEIS CAUSAS:
O Viewer não foi instalado na máquina remota.
Mesmas causas da questão anterior.
SOLUÇÃO:
Você pode instalar o Viewer na máquina remota ou então colocar o arquivo de
instalação do Viewer na pasta C:\Inetpub\wwwroot do micro servidor. Assim, toda a
vez que você tentar abrir um Viewer pelo Internet Explorer num micro remoto onde
o Viewer não foi previamente instalado, a instalação será iniciada automaticamente.
$2 1 06
“Ao abrir uma Tela, aparece uma mensagem dizendo que um objeto não pode ser
carregado corretamente".
POSSÍVEL CAUSA:
Você deletou algum XControl da biblioteca que estava sendo usada dentro desta
Tela ou então você removeu do domínio a lib que contém este XControl.
SOLUÇÃO:
No primeiro caso, se você deletou o XControl, não há mais como recuperá-lo. Para
corrigir o erro, é só deletar o objeto ElipseX que ficou dentro da Tela (pelo
Organizer pode-se ver um ponto de interrogação sobre o ícone do objeto. Na Tela
aparece um quadrado preto com um X).
No segundo caso, basta adicionar a biblioteca ao domínio.
Dúvidas mais freqüentes 457
“Ao abrir uma Tela, aparece uma mensagem de erro dizendo que não foi possível
abrir uma biblioteca ActiveX”.
POSSÍVEL CAUSA:
Alguns ActiveX utilizados nesta Tela não foram registrados e adicionados no micro.
SOLUÇÃO:
Registre e adicione o ActiveX através da opção “ Adicionar ActiveX” , disponível
no Menu Ferramentas. Para tanto, você deve ter o arquivo OCX que contém a
biblioteca.
“Ao inserir um ActiveX na minha Tela e ocorreu um erro 80040112. O que isto
significa?”
POSSÍVEL CAUSA:
Este erro indica que o ActiveX a ser inserido não está licenciado em sua máquina.
Durante o instanciamento, o controle procura no registro por sua chave de licença
(HKEY_CLASSES_ROOT\Licenses) e caso não encontre retorna este erro. Existem
chaves de licença para os objetos ActiveX, tanto para ambientes de desenvolvimento
quanto para runtime.
SOLUÇÃO:
Para resolver este problema, você tem que adquirir a licença deste ActiveX e
registrá-lo em seu micro.
“Tenho duas bibliotecas em meu domínio, mas não consigo utilizá-las ao mesmo
tempo. Quando registro uma, a outra deixa de funcionar. Como posso resolver este
problema?”
RESPOSTA:
Provavelmente, uma das bibliotecas foi criada a partir da cópia da outra, ficando as
duas com o mesmo identificador. Por isto, será necessário remover uma delas do
domínio.
$2 2 >!
RESPOSTA:
Existem pelo menos duas alternativas para solucionar isso:
Coloque um Texto na seção “ PageHeader” e no evento OnFormat da seção
“ PageHeader” , escreva o seguinte script:
Report.Sections("PageHeader").Controls("Label1")._
Caption = Now
Onde , V é o nome do rótulo criado.
Crie um tag Demo do tipo “ CurrentTime” . No cabeçalho ou no rodapé do relatório,
deve-se inserir um objeto SetPoint, e na propriedade DataField, devemos digitar o
nome completo do tag (ex:Dados.TagDemo1.Value). Configure o formato da data
desejada. Isto pode ser feito clicando com o botão direito sobre o objeto e ajustando
as suas propriedades ou então digitando diretamente o formato na propriedade
OutputFormat, na Lista de Propriedades (um exemplo de formato de data:
“ dd/MM/yyyy hh:mm:ss” ).
“Tenho um relatório que mostra o resultado de uma Consulta que possui um filtro
por data. Quando o relatório é gerado, a Consulta não retorna os valores
configurados via scripts para estas variáveis. Como solucionar este problema?”
RESPOSTA:
Verifique, no script que configura/acessa este relatório, se após os valores para as
variáveis da Consulta terem sido configurados não foi acionado o método
LoadReport(), já que este método carrega o relatório com as configurações feitas no
Studio. Utilize somente uma vez o método LoadReport() no script, carregando o
relatório para uma variável (através do comando Set).
RESPOSTA:
O método CopyConfig() não copia os valores de variáveis de consulta, sendo
necessário fazer isto via scripts dentro do gráfico. As penas configuradas no E3Chart
em tela são do tipo real.
RESPOSTA:
Crie uma consulta SQL no relatório filtrando por data inicial e data final. Na tela
onde deseja gerar este relatório deve-se executar a consulta SQL configurada
passando os valores de data inicial e final.
RESPOSTA:
Primeiramente, adicione dois Setpoints no PageHeader (um para mostrar a data
inicial e outro para a data final) e crie um script que passe os valores que foram
carregados nos Setpoints da tela (e transferidos para a Consulta) para estes dois
Setpoints.
O script a ser criado no objeto PageHeader, no evento OnBeforePrint() do relatório:
set dados = Application.GetFrame().Screen
Report.Sections(“PageHeader”).Controls(“Field5”).Text = _
dados.Item(“TextoDataInicial”).Value
Report.Sections(“PageHeader”).Controls(“Field6”).Text = _
dados.Item(“TextoDataFinal”).Value
Depois, associe dois tags internos aos Setpoints da Tela onde são especificadas as
datas. Associe estes tags aos Setpoints no relatório.
RESPOSTA:
Crie o seguinte script no evento OnReportStart() do relatório:
Sub OnReportStart
Report.Printer.DeviceName = “Nome da Impressora”
End Sub
“Como utilizo o evento de script OnError() para mostrar mensagem de erro quando
falhar a impressão do relatório?”
RESPOSTA:
O evento OnError() do relatório não permite que sejam executados scripts dentro
dele, servindo somente para seu uso interno. Isto significa que não é possível alterar
a mensagem de erro, nem executar algum outro procedimento a partir deste evento.
$2 A . !8
“O que acontece com os eventos gerados pelo E3 Server enquanto o domínio não
está rodando?”
RESPOSTA:
Sempre que o registro de eventos estiver habilitado, o E3 Server vai colocar os
eventos gerados na lista interna de eventos (em memória). Esta lista é esvaziada em
três situações:
• Se existe um E3Run rodando localmente (isto é, o E3 Server está em estado
HOT), os eventos da lista são enviados para o E3Run para serem gravados no
Banco de Dados. Se a gravação funcionar, os eventos gravados são removidos
da lista;
• Se existe outro E3 Server rodando em estado HOT no domínio, as mensagens
serão enviadas para este E3 Server;
• Se o domínio for fechado, todas as mensagens que ainda não foram gravadas são
descartadas.
“Utilizei o E3 Server via linha de comando e apareceu um erro. Por que isto ocorreu?”
RESPOSTA:
Muitas vezes, quando utilizamos o E3 Server via linha de comando, podemos
configurar algum parâmetro errado, o que acaba provocando uma mensagem de erro.
As mensagens de erro que podem aparecer são as seguintes:
“ As opções não são válidas ou o nome do domínio não está correto. Verifique as
opções informadas e se o domínio existe” .
Esta mensagem aparece quando for informada uma opção inexistente, um nome de
domínio inexistente ou quando o arquivo do domínio não for localizado,
provavelmente por ter sido informado um caminho inválido para o domínio.
RESPOSTA:
Criando o domínio pela rede, várias pessoas poderão abri-lo em máquinas diferentes
e trabalharem nele ao mesmo tempo. As alterações salvas por uma pessoa serão
visíveis para todas as outras, assim que abrirem o objeto específico alterado ou então
assim que atualizarem o projeto ou lib alterado.
RESPOSTA:
Todos os objetos do projeto são atualizados. Por exemplo, se várias pessoas
estiverem trabalhando ao mesmo tempo no mesmo domínio, as alterações salvas por
uma serão visíveis para todas as outras, assim que abrirem o objeto específico
alterado ou quando atualizarem o projeto ou lib alterado.
RESPOSTA:
Existem duas opções. Pode-se criar os seguintes atalhos na pasta Startup do
Windows:
E3 Server.exe -start c:\NomeDoArquivo.dom (executa apenas o
Server)
E3 Server.exe -start c:\NomeDoArquivo.dom –viewer (executa o
Server e o Viewer)
Pode-se também habilitar a opção de rodar o E3 Server como serviço. Para abrir um
Viewer, deve-se criar um atalho no startup do Windows para Viewer.exe\\Servidor.
$2 B ! 3! !
RESPOSTA:
A maneira mais fácil é criando uma Consulta no E3 com o comando para executar a
stored procedure desejada passando, se necessário, valores para ela.
O comando que deve ser configurado nesta Consulta é o seguinte:
Exec NomeDaStoredPorcedure var1, var2, ...
onde a sintaxe das variáveis é o sinal de maior, o sinal de percentual entre o nome da
variável e o sinal de menor. var1 e var2 são as variáveis que a stored procedure está
esperando (por exemplo, data inicial e data final). Caso a stored procedure não esteja
esperando nenhuma variável, basta criar o comando SQL sem as variáveis. Para
executar esta Consulta, basta utilizar o método Execute().
Obs.: a propriedade CursorLocation da Consulta do E3 deverá estar configurada
como V=( .
462 Dúvidas mais freqüentes