Dicas de performance e solução de problemas ao utilizar o driver OPC UA no E3.

Descrição

Ao utilizar o driver OPC UA no E3, alguns comportamentos relacionados à atualização de valores, à inicialização do Viewer e à performance da aplicação podem gerar dúvidas ou impactos indesejados.

Este artigo apresenta orientações para o diagnóstico e a otimização da comunicação OPC UA no E3.

Funcionamento das leituras OPC UA no E3

Diferentemente de uma leitura de dados constante via polling, o E3 implementa, conforme a norma OPC UA, o conceito de leituras assíncronas por meio de assinaturas.

O cliente E3 registra uma lista de nodos, agrupados em assinaturas. O servidor notifica o cliente somente quando ocorre a alteração de valor de algum desses nodos, informando quais tags possuem novos valores.

Caso não haja alteração de valor em nenhum nodo, o servidor envia apenas uma mensagem de keep alive ao cliente.

O intervalo de atualização desses valores é definido pela propriedade Scan da assinatura.

Ação sugerida

Para fins de teste, recomenda-se aumentar o valor da propriedade Scan das assinaturas no E3, a fim de verificar possíveis impactos no tempo de inicialização do Viewer ou no comportamento da atualização das tags.

Quanto menor o valor de Scan, mais rapidamente as tags serão atualizadas. Em contrapartida, valores menores aumentam a sobrecarga no servidor OPC UA, o que pode resultar em queda de performance da aplicação.

Ajuste da propriedade MaxNodesPerClientCall

Alguns servidores OPC UA — principalmente CLPs, devido a restrições de memória — possuem limites quanto à quantidade de tags que podem ser processadas em uma única chamada.

Dessa forma, o cliente E3 particiona o número de nodos em várias chamadas, conforme o valor configurado na propriedade MaxNodesPerClientCall. Esse comportamento evita erros como “Bad_TooManyOperations”.

Os limites do servidor podem ser acessados internamente em sua árvore de nodos. Esses valores também podem ser visualizados no log do Elipse E3.

Os principais limites que podem afetar diretamente as operações do E3 são:

Server → ServerCapabilities → OperationLimits:

  • MaxNodesPerTranslateBrowsePathsToNodeIds

  • MaxMonitoredItemsPerCall

  • MaxNodesPerHistoryReadData

  • MaxNodesPerRead

Ação sugerida

A propriedade MaxNodesPerClientCall, no driver OPC UA do E3, deve ser configurada com o menor valor informado pelo servidor dentre os limites apresentados acima.

Uso da propriedade AlwaysInAdvise

Para melhorar a performance em aplicações com grande quantidade de objetos dinâmicos, recomenda-se configurar os tags OPC UA com a propriedade AlwaysInAdvise habilitada.

Benefícios

  • Mantém o tag permanentemente inscrito na assinatura OPC UA;

  • Melhora a performance da aplicação e evita operações desnecessárias de mudança do modo de monitoramento dos tags nas assinaturas.

Propriedade OverrideEndpointURLHost

No fluxo normal de uma comunicação OPC UA, o cliente conecta-se ao servidor utilizando o endereço configurado na propriedade EndpointURL. Em seguida, o servidor retorna ao cliente uma lista de Endpoints, contendo o endereço de conexão e os modos de segurança disponíveis.

Em alguns cenários, o servidor pode retornar Endpoints com hostname ou endereço IP diferentes daqueles acessíveis pelo cliente E3, impossibilitando, assim, a conclusão do processo de conexão.

Cenários comuns

  • Uso de NAT;

  • Ambientes virtualizados;

  • DNS diferente entre servidor e cliente;

  • Ambientes redundantes.

Ao habilitar a propriedade OverrideEndpointURLHost, o E3 substitui apenas o hostname/IP retornado pelo servidor pelo valor configurado no driver, mantendo o protocolo, a porta e o caminho originais do Endpoint.

Falha na busca de nós OPC UA (Browse)

Caso ocorra falha na navegação ou na busca de nós OPC UA, deve-se verificar a estrutura de nomes utilizada no servidor OPC UA.

Atenção a palavras reservadas

Não devem ser utilizados nomes que entrem em conflito com objetos internos do E3.

Exemplo

  • Pasta ou nó chamado Application

Esse nome não pode ser utilizado no E3 e pode causar falha na busca de nós.

Ação sugerida

  • Renomear a pasta no servidor OPC UA;

  • Ou ajustar o mapeamento dos nós no projeto E3.

Conclusão

A maioria dos problemas de performance e comunicação OPC UA no E3 está relacionada aos seguintes fatores:

  • Configuração das assinaturas;

  • Limites de chamadas por cliente;

  • Gerenciamento de tags ativos;

  • Estrutura de nós do servidor OPC UA.

A aplicação das boas práticas descritas neste artigo contribui para uma maior estabilidade, melhor desempenho da aplicação e um diagnóstico mais eficiente de falhas de comunicação.

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

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

Deixe seu Comentário

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