Como funciona o Elipse E3.

Neste artigo, discutiremos como funciona o Elipse E3. Este software é uma poderosa plataforma para supervisão/controle de processos totalmente voltada à operação em rede e aplicações distribuídas; é desenvolvido pela Elipse Software, empresa brasileira especializada no desenvolvimento de soluções para o gerenciamento de processos em tempo real.

1) Introdução

O Elipse E3 é o software de terceira geração Cliente/Servidor HMI/SCADA da Elipse Software Ltda. Da mesma forma, desde seu lançamento, em 2001, várias aplicações que permitem a construção de sistemas de automação com um novo conceito de conectividade e flexibilidade foram desenvolvidas pelo mundo.

O Elipse E3 é totalmente orientado para a operação em rede e para aplicações distribuídas. Ele oferece: um novo e avançado modelo de objetos; uma poderosa interface gráfica; e uma nova e exclusiva arquitetura que permite não só desenvolvimento rápido de aplicações mas também o máximo de conectividade a vários equipamentos e outras aplicações. Também incorpora as mais recentes tecnologias de desenvolvimento de software, maximizando o desempenho e a produtividade, otimizando a qualidade de suas aplicações e seu processo de desenvolvimento, além de minimizar custos e perdas.

Novos recursos e ferramentas de edição facilitam o desenvolvimento de aplicações e minimizam seu tempo de configuração. A estrutura modular do Elipse E3, com processamento distribuído em rede, não apenas reúne recursos de vídeo mas também dá suporte a tecnologias como XML, ActiveX e OPC.

O Elipse E3 permite a comunicação com centenas de dispositivos de controle e aquisição de dados. As informações podem ser manipuladas de diversas formas; isto inclui o desenvolvimento de poderosas interfaces gráficas não apenas no PC em rede local mas também via Internet, além do gerenciamento de alarmes, armazenamento em bancos de dados, troca de informações entre outros softwares e componentes, e criação de relatórios.

2) Componentes principais do E3

O Elipse E3 é formado por três programas principais, do ponto de vista do usuário, a saber:

E3 Server

É o servidor de aplicações. Nele, são ao mesmo tempo processadas as comunicações, gerenciados os processos principais do sistema, e enviadas as informações gráficas e dados para os clientes em qualquer ponto da rede. É comercializado em versões com 100, 300, 1.500, 5.000, 10.000, 20.000 ou ilimitados pontos de I/O, incluindo um E3 Viewer. Além disto, o E3 Studio também pode ser adicionado ao Server (versões Master), assim como cópias adicionais de Viewer; isto permite que vários usuários operem o sistema ao mesmo tempo. Ele possibilita que vários servidores executem vários projetos diferentes, mas ainda fazendo parte da mesma aplicação; assim atividades são distribuídas entre máquinas de acordo com sua necessidade. Foi desenvolvido para ser executado nos sistemas operacionais Microsoft Windows Server 2003 SP2, XP SP2, Vista SP1, Windows Server 2008 SP1, Windows 7, Windows 8 e Windows Server 2012.

E3 Viewer

Esta é, em suma, a interface de operação com o usuário (console de operação). Permite rodar a aplicação que está no servidor em qualquer computador; pode ser executado não só na rede local como também na Intranet/Internet via browser. Em ambos os modos, não é necessário a instalação do aplicativo na máquina cliente; todos os componentes (telas, bibliotecas, controles ActiveX) são baixados do servidor e então registrados automaticamente. O E3 Viewer foi desenvolvido para apresentar informações com rapidez, precisão e alta qualidade gráfica, facilitando a operação do projeto. O E3 Viewer Control permite qualquer tipo de operação e visualização; já o E3 Viewer Only, somente a visualização e consultas. Disponível para as plataformas Microsoft Windows Server 2003 SP2, XP SP2, Vista SP1, Windows Server 2008 SP1, Windows 7, Windows 8  e Windows Server 2012 .

E3 Studio

Ferramenta única de configuração do sistema, o E3 Studio serve como plataforma universal de desenvolvimento. Possui um ambiente moderno e amigável; também inclui a configuração da comunicação e um editor gráfico completo para a criação das telas de operação e scripts integrado. Permite que um mesmo sistema seja editado por várias pessoas ao mesmo tempo; adicionalmente, permite que vários Studios sejam conectados a um mesmo servidor remoto, com múltiplas configurações. Pode ser executado nos sistemas operacionais Microsoft Windows Server 2003 SP2, XP SP2, Vista SP1, Windows Server 2008 SP1, Windows 7, Windows 8 e Windows Server 2012.


Figura 1 – Exemplo de arquitetura do E3

3) O conceito de Domínio

As necessidades de automação do presente e do futuro frequentemente nos levam ao uso de vários computadores executando sistemas SCADA (Supervisory Control And Data Acquisition) simultaneamente a fim de realizar tarefas diversas, levando em conta fatores como segurança, condições físicas e geográficas, desempenho, etc.

Para administrar essas aplicações, precisamos fazer com que elas “conversem” entre si; isto é, elas precisam trocar dados entre si, e extrair informações úteis do processo. Até algum tempo, sistemas SCADA tradicionais baseavam-se em uma estrutura comum para cumprir essa tarefa:

  • Cada servidor SCADA deveria possuir uma cópia (parcial ou completa) da aplicação configurada na base de dados local; e
  • Cada servidor SCADA poderia rodar somente uma base de dados configurada por vez.

Entretanto, isto nos leva a alguns problemas de administração, tais como: aplicar mudanças em todos os servidores, controlar versões de aplicações, ou mesmo trabalhar com diferentes fabricantes de software.

Dessa forma, o Elipse E3 resolve todos estes problemas ao utilizar o conceito de Domínio. Um Domínio inclui, em um único ambiente, a definição de computadores executando tarefas em tempo real (servidores) e bases de dados dos projetos que devem ser executados nesses servidores. Desse modo, cada Domínio pode executar vários projetos. É possível também incluir, apagar ou modificar projetos durante a execução sem afetar as outras partes do Domínio que estão rodando.

Cada projeto pode conter vários tipos de objetos, como gráficos (telas), Drivers de I/O, Delegação de Alarmes e Históricos, Relatórios, Fórmulas, Bases de Dados, etc. Quando dois ou mais projetos estão dentro de um Domínio, eles podem acessar as propriedades e objetos um do outro como se residissem em uma única base de dados. Isso é possível porque um objeto pode estabelecer links com outro. Se ambos os objetos existem e estão rodando, o link estará ativo; portanto, qualquer mudança de valores é enviada assincronamente entre as partes, dependendo do tipo de link. Se um dos objetos é destruído ou parado, o link é interrompido; então a aplicação é notificada e pode indicar este estado da forma que o usuário definir.

A estrutura de Domínio é restrita a equivalentes do servidor, como computadores servidores, projetos, usuários e senhas. A interface de usuário do cliente para operação e visualização (E3 Viewer) pode se conectar diretamente a qualquer servidor E3 com cópias suficientes do visualizador. O E3 Viewer tem três recursos especiais:

  1. Os projetos de aplicações residem apenas no servidor.
  2. Qualquer programa executável (Viewer.exe, para qualquer sistema operacional Windows), como o Internet Explorer*, pode ser usado como interface de operação do cliente, sem diferenças entre eles. É possível também utilizar o Windows Terminal Services para acessar a mesma interface do cliente, independentemente do sistema operacional.
  3. A interface do cliente é capaz de mudar de um servidor com falhas ou com problemas e reconectar ao próximo servidor disponível, sem que para isso seja necessário parar o monitoramento de processos.

* É preciso ter bastante cuidado com as políticas de segurança em relação a envio de comandos via Internet a fim de evitar riscos potenciais de exposição do sistema. Alguns recursos devem ser configurados na aplicação para evitar os riscos (como permissões de leitura e escrita), mas também dependem das regras da empresa onde os sistemas estão instalados.

4) A estrutura do Domínio

Um Domínio é composto fisicamente ou por um Servidor operando isoladamente, ou por dois Servidores em uma configuração dual standby. Cada Viewer, na verdade, conecta-se ao Domínio, e não apenas ao Servidor.


Figura 2 – Um exemplo de Super Domínio

Logo após terem sido conectados, Servidor e Cliente verificam entre si a existência de objetos do sistema registrados e atualizados na máquina cliente. Em caso negativo, o Servidor inicia o carregamento das definições dos objetos, como bibliotecas definidas pelo usuário e controles ActiveX.

O Cliente, por outro lado, inicia baixando a primeira tela (interface gráfica), incluindo quaisquer objetos internos, e salvando-a em um diretório de cache. Esse processo pode levar alguns segundos, dependendo da aplicação; este tempo no entanto é compensado nas próximas vezes em que a tela for aberta, já que o Viewer executará o cache de disco e de memória. Caso o Viewer não tenha sido fechado, na próxima vez em que a mesma tela for aberta (sem ter sido reconfigurada), ela já terá sido criada em memória, o que reduz o tempo de paginação. Se a tela tiver sido alterada, então o Viewer irá baixá-la novamente, reiniciando o processo.

Após a tela ter sido aberta, o Servidor e o Cliente somente trocam valores em tempo real e consultas a bases de dados em um esquema de mensagens TCP/IP, em modo de alta performance quando comparado ao Terminal Services, dependendo do sistema. Isso é possível porque, enquanto o E3 Viewer recebe e envia somente valores em tempo real, o Cliente do Terminal Services envia movimentos de mouse e teclado e recebe imagens de vídeo.

Entretanto, cada Domínio é capaz de conversar com outros domínios, formando um “Super Domínio”; esta estrutura está ilustrada na da figura acima.

Um Viewer conectado a um Domínio isolado pode manipular informações residentes somente no servidor ativo, de acordo com os direitos de acesso do usuário. Entretanto, se o Domínio estiver inserido em um Domínio com outros irmãos, ele pode atuar como uma ponte para os outros servidores.

Assim, um ou mais Viewers conectados a um Domínio podem acessar informações residentes em outros Domínios; isto depende também dos direitos do usuário para cada Viewer. Quando ele requisita uma informação, como uma Tela ou um link para um objeto inexistente no Domínio local, o servidor local ativo age como uma porta para os Viewers locais, baixando telas ou executando comunicações em tempo real entre Viewers locais e servidores remotos, e habilitando uma rede SCADA de longa extensão entre diferentes aplicações e sistemas.

5) Módulos de sistema do Elipse E3

A arquitetura interna do Elipse E3 é totalmente escalável, com cada tarefa principal sendo executada por um módulo em separado. Na figura abaixo temos uma visão geral dos blocos de construção do E3.


Figura 3: Diagrama de módulos do E3

O E3 Server é responsável por criar um processo em tempo de execução (runtime) que irá efetivamente executar a aplicação. Dentro desse processo encontram-se os servidores específicos do E3, com serviços utilizados por outros módulos.

6) Bibliotecas de Símbolos e Usuários

Um dos recursos mais poderosos do Elipse E3 é a biblioteca definida pelo usuário; bibliotecas são arquivos com a extensão LIB com a finalidade de conter um ou mais objetos criados pelo usuário.

Esses objetos podem ser de dois tipos diferentes: XControls, que são bibliotecas gráficas executadas no Viewer, e XObjects, que são bibliotecas de dados executadas no servidor.

Os XControls são objetos gráficos do usuário com propriedades, métodos e scripts feitos com quaisquer objetos, incluindo ActiveX e outros XControls. Uma vez criados e registrados, é possível incluir o XControl em uma tela; ali, seu comportamento será definido ou suas propriedades serão associadas a variáveis externas. Qualquer mudança na biblioteca é automaticamente reproduzida em todas as instâncias do objeto; isto cria uma conexão circular de cada instância com a definição original. Como explicado anteriormente, ao abrir uma tela, o cliente baixa todas as definições de objetos, criando um controle de cache de telas.

Os XObjects são objetos de dados do usuário. Eles também possuem propriedades, métodos e scripts, juntamente a objetos internos relativos ao servidor (Drivers I/O, Alarmes, Históricos, etc.). O XObject é colocado em um container específico chamado DataServer; ali, é possível definir seu comportamento ou associá-lo a tags externos. Assim como com os XControls, qualquer mudança na definição do XObject original é automaticamente reproduzida em todas as instâncias do objeto.

Os XControls e os XObjects podem ser associados entre si para melhorar o desempenho em aplicações complexas. Pode-se definir um ou mais XControls para que acessem informações de um ou mais XObjects. Os XControls só carregam as informações necessárias, deixando a base de dados completa, em tempo real, no servidor. Esse recurso permite que uma aplicação com vários itens de monitoramento tenham poucas telas, já que o XControl pode “apontar” para diferentes XObjects. Para aplicações repetitivas, as bibliotecas diminuem o ciclo de desenvolvimento, pois podem incluir o driver de comunicação, tags e variáveis, alarmes, etc. Os objetos de biblioteca são também chamados de objetos ElipseX.


Figura 4: XControls e XObjects

O E3 Studio também inclui uma biblioteca de símbolos vetoriais com mais de 3.000 símbolos gráficos. Esses símbolos podem ser utilizados em sua aplicação, diretamente nas Telas ou dentro de XControls.


7) Bases de Dados

O Elipse E3 não utiliza uma base de dados proprietária para armazenar informações; o módulo DB Server pode manipular qualquer base de dados comercial, como o MS-SQL Server ou Oracle. Caso não possua liberação de uma base de dados, o E3 pode armazenar os dados no formato do Access (MDB). Informações como alarmes e eventos, dados históricos e fórmulas são armazenados em tabelas de bases de dados.

O DB Server usa os direitos do Administrador de bases de dados para criar e gerenciar tabelas. Portanto, não é necessário executar nenhuma manutenção da base de dados em uma ferramenta separada para manter o sistema rodando; o Elipse E3 apenas apaga dados antigos das tabelas principais ou então move-os para uma tabela de backup. Após terem sido movidos, os dados podem ser finalmente apagados após um período de tempo pré-definido, ou então retornados à tabela principal para análise posterior.

O formato das tabelas de alarmes e eventos é definido no módulo Servidor de Alarmes. Nele, é possível escolher entre os campos disponíveis, incluindo informações de data e hora com resolução de 1ms; por outro lado, as atribuições históricas e definições de fórmulas são feitas diretamente nos respectivos objetos.


8) Sincronização de bases de dados

Uma aplicação de standby duplo (ou um subdomínio) é uma onde as bases de dados estão localizadas nos servidores. Neste caso, é comum que as bases de dados criem espaços de informação em branco quando um dos servidores falha. A fim de evitar isso, o Elipse E3 implementa a sincronização de bases de dados entre servidores.

As informações enviadas para o servidor de bases de dados atual também sofrem uma tentativa de armazenamento na base de dados de backup; se essa operação puder ser executada, então esses dados serão verificados enquanto estiverem sendo sincronizados. Entretanto, se o processo falhar, as informações não serão atualizadas, e sofrerão outras tentativas de armazenamento em intervalos definidos. Mesmo se ambos os servidores estiverem desligados, cada servidor irá transferir os registros não-sincronizados para a base de dados do outro servidor quando retornar à atividade, até que as tarefas sejam completadas.

O mesmo processo acontece quando a base de dados é desconectada do DB Server por qualquer motivo. Quando isso acontece, um arquivo de armazenamento temporário é criado no computador local; sua função é manipular dados enquanto a conexão com a base de dados principal não for restabelecida.

Um problema semelhante acontece quando precisamos sincronizar ou concentrar bases de dados rodando em sub-domínios diferentes. Neste caso, o DB Server pode simplesmente duplicar as informações (guardando os dados em duas bases de dados ao mesmo tempo), ou então executar uma sincronização de mão única com um DB Server central.

9) Servidores I/O

O Elipse E3 implementa recursos especiais de gerenciamento de I/O para que aplicações de qualquer tamanho estejam habilitadas a rodar uniformemente, mesmo com centenas ou milhares de dispositivos. Drivers de comunicação são compostos por três tipos de objetos:

  • IOTags e IOBlocks: Estas são as variáveis extraídas de dispositivos de I/O como PLCs, controladores, placas de aquisição de dados, relés, etc. Cada IOTag é configurado para representar informações específicas; ele pode assumir diferentes tipos de dados, tais como Booleanos (verdadeiro/falso, ligado/desligado), inteiros, números reais e textos. Dependendo do equipamento e do protocolo utilizados, o IOTag pode ter formatos mais complexos, como estruturas de dados ou conjuntos de registros, bem como outros detalhes importantes (qualidade e  data de criação, etc).
  • IOConnections: Estes são os detalhes físicos da comunicação, como mídia, velocidade e tipo – UDP ou TCP/IP, serial, modem, RAS, etc. Cada dispositivo de comunicação deve estar associado a um IOConnection; é possível que vários dispositivos de comunicação compartilhem a mesma conexão (como uma rede multidrop RS-485).
  • IOServers: programas executáveis que manipulam comunicações. É possível definir um IOServer para manipular um número específico de conexões; do mesmo modo, é também possível que o Elipse E3 crie mais IOServers dinamicamente para gerenciar mais conexões e dispositivos.

 


Figura 5: Típica configuração de drivers

10) Cliente e servidor OPC

Para maior conectividade, Elipse E3 pode agir não só como um cliente bem como um servidor OPC; isto inclui a troca de informações com outros pacotes SCADA.

11) Gerenciamento de Alarmes

O objeto Configuração de Alarmes é o local onde as Áreas são inseridas e organizadas. Todas as informações relativas às condições de alarmes são definidas nas Fontes de Alarmes, bem como também os tipos de eventos que devem ser gerados em cada condição.

Durante a execução, as mensagens de alarme são enviadas para o AlarmServer, que gerencia o AlarmHub, controlando a entrada/saída de mensagens para outros servidores e clientes e o reconhecimento de usuários.

As mensagens podem ser visualizadas e reconhecidas pelo usuário com objetos, habilitando assim a filtragem de mensagens, controle de cores, pisca-pisca e ordenação.

12) Relatórios avançados

O Elipse E3 inclui ferramentas de relatórios de alto nível, que permitem criar virtualmente qualquer tipo de relatório, histórico ou em tempo real. Com a ferramenta E3 Query, você pode criar e gerenciar consultas SQL a fim de extrair informações de bases de dados, como filtros, ordenações, visualizações, etc.; é possível também também editar manualmente as consultas SQL.

Com o designer gráfico de relatórios, é possível definir a aparência do relatório: cabeçalhos, rodapés, grupos e seções de detalhes. Do mesmo modo, é possível incluir cálculos especiais como somas, médias, desvios-padrão, etc. Cada seção pode ter objetos como códigos de barra, desenhos, imagens, etiquetas, campos de dados, scripts (VBScript) e tendências/gráficos.

A saída do relatório pode não só ser pré-visualizada na tela mas também enviada diretamente para a impressora. Também é possível exportá-la para os formatos Acrobat PDF, Microsoft Excel, RTF ou HTML.

13) Conhecimento especializado e presença mundial

A Elipse Software traz conhecimento especializado para várias áreas de aplicação, tais como Química, Águas e Esgotos, Energia Elétrica (Geração, Transmissão e Distribuição), Energia (Medição, Proteção, Gerenciamento), Processo e Produção. A empresa conta com filiais e distribuidores em vários países, como Estados Unidos, Alemanha, Índia, Taiwan e Brasil.

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

Classificação média - Average rating 5 / 5. Count: 3

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *