1. Problema
Ao escrever, via script ou associação, o valor de um Bit de um Tag de Comunicação conectado a um servidor OPC UA, outro Bit do mesmo Tag — alterado quase simultaneamente pelo CLP ou por outro script/associação do E3 — pode ser sobrescrito e ter seu valor perdido. O sintoma típico é a perda intermitente de uma alteração de bit, sem que o log de IOData registre qualquer erro: as leituras e escritas do Tag aparecem como bem-sucedidas, mas o valor final não reflete a última alteração esperada. Esse comportamento costuma ocorrer quando há escritas frequentes (por exemplo, scripts periódicos executados a cada segundo) em bits diferentes do mesmo Tag.
2. Solução
A causa raiz está no funcionamento do protocolo OPC UA, que não suporta escrita isolada de bits (apenas de nodos inteiros). Para escrever um bit, o E3 monta a palavra completa a partir do último valor lido, altera o bit desejado e grava a palavra inteira de volta ao servidor. Se o CLP (ou outro processo) alterar outro bit dessa mesma palavra entre a leitura e a gravação feita pelo E3, essa alteração é sobrescrita.
Para eliminar ou mitigar o problema, aplique uma das alternativas abaixo, da mais recomendada para a paliativa:
| Alternativa | Descrição |
| Expor cada bit como nó Boolean | Solução recomendada. Configurar o servidor OPC UA para disponibilizar cada bit como um nó Boolean independente elimina a necessidade de o E3 recompor a palavra inteira a cada escrita. |
| Evitar escritas concorrentes | Revisar scripts/associações periódicos que escrevem bits diferentes do mesmo Tag, evitando que ocorram de forma simultânea ou excessivamente frequente. |
| Diminuir o Scan da assinatura OPC UA | Paliativo. Reduz a janela de tempo em que a sobrescrita pode ocorrer, mas não elimina o risco. |
| WriteFeedbackMode = 2 (TrustWriteSuccess) | Aplicável somente quando o Tag é alterado exclusivamente pelo E3 (nenhuma escrita direta pelo CLP). O E3 passa a confiar no valor que gravou, sem depender da releitura do servidor. |
3. Observações técnicas
Para acessar bits individuais de um Tag de Comunicação, é necessário habilitar a propriedade UseBitFields do Tag. Todo Tag de Comunicação do E3 é uma Double Word, ou seja, possui 32 bits disponíveis.
O intervalo de atualização de valores de uma assinatura OPC UA é definido pela propriedade Scan: valores menores atualizam as tags mais rapidamente, porém aumentam a sobrecarga no servidor OPC UA.
Antes de aplicar qualquer uma das alternativas, utilize a ferramenta de procura do E3 para verificar se não há outras associações ou scripts forçando o valor do mesmo bit, o que também pode causar sintomas semelhantes.
Palavras-chave: OPC UA, Tag de Comunicação, escrita de bit, UseBitFields, WriteFeedbackMode, TrustWriteSuccess, Scan de assinatura, sobrescrita de bit, E3
