Associações (links) não reconectadas e perda de referências a objetos após a atualização do domínio no E3Server.

1. Problema

Ao atualizar o domínio (pelo E3Studio ou E3Admin) em um projeto com objetos XObjects, o E3Server registra no log (ServerLinkManager) mensagens como:

CreateRemoteLinkBatch failed - error(80004002) E_NOINTERFACE

ou, de forma mais detalhada:

object not marshalable (QueryInterface), link='Caminho.Do.Objeto' (item N of M) - error(80004002) E_NOINTERFACE

O sintoma é a falha das associações (links) e a perda de referências a objetos no runtime logo após a atualização do domínio. A causa está relacionada a links indiretos (propriedades de XObjects) que são indexados por outros links indiretos: durante a atualização do domínio, esses links podem não ser reconectados corretamente, resultando na falha de interface reportada.

Versões afetadas: o problema ocorre a partir do E3 6.8, em que a reconexão de links durante a atualização do domínio foi otimizada, e se estende ao E3 6.9 até a build 312. Enquanto não for possível atualizar, reiniciar o E3Server (ou os objetos afetados) após a atualização do domínio restabelece as associações.

2. Solução

O problema de reconexão de links indiretos indexados por outros links indiretos foi corrigido pela Elipse Software. A correção está disponível a partir do E3 versão 6.9 build 313, com a build 314 recomendada para atualização:

Downloads – Elipse Software

Após atualizar o E3Server e o E3Studio para a build 314 (ou superior), os links indiretos indexados por outros links indiretos são reconectados corretamente ao atualizar o domínio, eliminando a falha de CreateRemoteLinkBatch.
Workaround: caso não seja possível atualizar o E3 de imediato, reinicie o E3Server (ou os objetos afetados) após cada atualização do domínio. Isso restabelece as associações, mas não elimina o problema.

3. Observações técnicas

Em domínios com grande volume de itens OPC UA, a atualização do domínio pode levar um tempo considerável, pois o driver relê atributos de todos os itens durante a reconexão. Nesses cenários, habilitar a propriedade AlwaysInAdvise do driver OPC UA evita que tags já inscritos em uma assinatura sejam reinicializados a cada edição/atualização de domínio, reduzindo o tempo de bloqueio do runtime durante esse processo. Mais detalhes em Driver OPC UA E3 — Performance e Solução de Problemas.

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

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

Leave a Reply

Your email address will not be published.Required fields are marked *