Você está na página 1de 4

Melhores práticas para o desenvolvimento de uma

aplicação Elipse E3.


kb.elipse.com.br/melhores-praticas-para-o-desenvolvimento-de-uma-aplicacao-elipse-e3/

Délio Damin 7 de julho de 2022

Este artigo tem como objetivo apresentar um roteiro com as melhores práticas para
desenvolvimento de uma aplicação Elipse E3.
Com base nos módulos existentes no software, serão enunciados diversos artigos e
dicas para um bom desenvolvimento.

Bibliotecas
Existe um conjunto de orientações para desenvolver aplicações com boa performance, e
uma delas é a utilização de Bibliotecas.
Devido a complexidade e extensão de alguns projetos, o seu desenvolvimento pode se
tornar muito mais rápido com o uso dos recursos de orientação a objetos e as Bibliotecas
disponíveis no E3, criando projetos simples e objetivos, reduzindo drasticamente o tempo
de manutenção.

Portanto, abaixo apresentamos alguns artigos que demonstram essa prática no Elipse
E3:

Desenvolvendo aplicações orientadas a objetos no Elipse E3 – Parte I.


Desenvolvendo aplicações orientadas a objetos no Elipse E3 – Parte II.
Usando Bibliotecas no Elipse E3: Introdução.

Banco de Dados
O Elipse E3 possui conexão nativa com os bancos Access, Oracle, SQL Server,
PostgreSQL e MySQL, e a escolha dependerá diretamente de sua finalidade, onde
teremos que avaliar suas vantagens e desvantagens.

Os Históricos são módulos responsáveis pelo armazenamento de dados da aplicação


em um Banco de Dados para análises futuras, onde é possível inserir chave primária e
índices. Índices são campos (ou conjunto de campos) previamente ordenados pelo
banco de dados a fim de melhorar a performance das consultas que utilizam estes
índices.

Já para a configuração da Consulta, dependendo da quantidade de dados retornados


em uma consulta, ou do número de objetos que possuem consultas associadas, o
acúmulo excessivo de dados pode gerar lentidão ao entrar em telas e ao retornar os
dados provenientes das consultas. Neste caso, é importante inserir um filtro, com um
espaço de tempo curto no valor inicial das variáveis que realizam o filtro por data.

1/4
É importante destacar, que utilizando um objeto Histórico ou o método Execute do objeto
Consulta com o parâmetro ImmediateExecute igual a False, os dados passam pelas
filas de operações do banco (arquivos .e3i e .e3o), de maneira assíncrona,
proporcionando maior performance na aplicação. Não recomendamos ativar o
ImmediateExecute(True), justamente por potencialmente causar travamentos no
aplicativo mediante desconexões do banco.

Abaixo apresentamos alguns artigos que demonstram essa prática no Elipse E3:

Usando Bancos de dados no E3: Introdução.


Linguagem SQL: Capítulo 5 – Boas práticas de configuração de um Histórico e uma
Consulta.
Linguagem SQL: Introdução.
KB-65651: Utilizando o método GetAsyncADORecordSet.

Scripts
Apesar de a maioria dos aspectos do VBScript se aplicarem à programação de scripts no
E3, algumas particularidades devem ser destacadas no que diz respeito às
implementações do conceito de orientação a objetos no sistema.

Evite a utilização de scripts cíclicos, e caso não seja possível utilizar associações para
implementar o desejado, é recomendável criar um evento de usuário que somente seja
executado quando uma condição seja satisfeita.

No tutorial exemplo abaixo, temos como objetivo familiarizar o uso do VBScript no E3


através de exemplos e exercícios, proporcionando uma boa prática no desenvolvimento
de scripts.

Noções de VBScript no Software Elipse E3: Introdução.

Comunicação
Para que a aplicação tenha uma boa performance de comunicação, devemos avaliar
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. Além disso, algumas
opções podem ser configuradas no driver, para obter um melhor desempenho.

Propriedade WriteSyncMode do driver: Determina como as escritas serão enviadas para


o IOServer (modo síncrono ou assíncrono). Se por ventura uma aplicação apresentar
uma baixa performance na comunicação, esta propriedade pode ser alterada para o
modo assíncrono sem confirmação. Na escrita assíncrona (sem confirmação), o E3Run
envia o valor para o I/O Server e não aguarda o retorno; neste tipo de escrita, assume-se
sempre que a escrita funcionou. Logo após, a aplicação será liberada imediatamente
para seguir sua operação natural.

2/4
Propriedade WriteFeedBackMode do driver: Esta propriedade permite controlar a
confirmação, ou feedback, das escritas em Tags de Comunicação. É aplicável somente a
Tags de Comunicação que possam ser lidos, ou seja, possuam a propriedade AllowRead
em Verdadeiro. Portanto, em casos de baixa performance, esta propriedade pode ser
alterada para 0 – wfWaitNextRead (a leitura do Tag de Comunicação é realizada
normalmente na próxima varredura).

Propriedade EnableReadGrouping do driver: Permite otimizações de leitura ou


agrupamento automático de Tags de Comunicação. Esta propriedade não pode ser
alterada com o driver de comunicação ativo. O valor padrão desta propriedade é
Verdadeiro. A otimização de leitura só acontece se o driver de comunicação suportar
este recurso.
Importante ressaltar, que o agrupamento (EnableReadGrouping) no E3 requer que o
equipamento suporte os limites estabelecidos. Há equipamentos, entretanto, que
suportam limites inferiores. Para que o agrupamento dos tags funcione nestes casos,
alguns drivers (como por exemplo o Driver Modicon Modbus Master (ASC/RTU/TCP))
permitem personalizar o limite máximo suportado de bytes de dados em cada
comunicação.

No Driver Modbus, esta configuração pode ser realizada na opção Customize Max.
PDU Size, já no Driver BACnet em Maximum number of properties per
ReadPropertyMultiple request, e no Driver Allen Bradley DF1 em Max Message
Bytes. Portanto, deve-se verificar se o driver possui essa possibilidade de configuração.

Pool de Processos IOServer: Em aplicativos com centenas de Drivers, os recursos


necessários para executar os processos IOServer para cada Driver podem esgotar a
capacidade do sistema operacional. Nestes casos, pode ser necessário habilitar o Pool
de Processos IOServer na aba Propriedades da configuração do Domínio.

Abaixo apresentamos alguns artigos referentes ao conteúdo abordado anteriormente:

Como funciona a escrita em tags no Elipse E3.


KB-31875: Priorizando a atualização de tags.
Pool de Processos IOServer.
Desabilitando tags de um CLP em falha.

Design de interfaces visual


Normalmente, as interfaces industriais são desenvolvidas por técnicos e engenheiros da
própria indústria, e não por profissionais da área de design. É portanto comum que estes
técnicos desconheçam as disciplinas e os estudos de design, psicologia e ciências
cognitivas que orientam o desenvolvimento das interfaces modernas.

A Biblioteca HighPerformance Template para E3 ou Elipse Power é um modelo de


aplicação que sintetiza os resultados de diversos estudos realizados nas mais distintas
áreas do conhecimento, aplicados no desenvolvimento de interfaces industriais.

3/4
Metodologia para Desenvolvimento de IHMs de Alta Performance Visual.

Geral
Afim de evitar que sua aplicação apresente lentidão, bem como demora ao abrir telas e
animações trancando, recomendamos o artigo abaixo, que possui algumas dicas de bom
desenvolvimento, ajudando a evitar este tipo de problema de performance em aplicações
do E3.

Dicas de Performance para o E3.

4/4

Você também pode gostar