Valor não é passado ao tag OPC UA por script

Bom dia a todos. Estou com um problema para atribuir um valor a uma variável OPC UA por um script. A variável no CLP é do tipo Real. Quando faço a escrita pelo driver funciona, porém pelo script não. Tentei das seguintes formas sem sucesso:

Application.GetObject(“DriverUA1.Assinatura1.UN63.BL01.TOTALIZACAO”).Value = 0
Application.GetObject(“DriverUA1.Assinatura1.UN63.BL01.TOTALIZACAO”).WriteEx
Application.GetObject(“DriverUA1.Assinatura1.UN63.BL01.TOTALIZACAO”).Write()

Obrigado desde já.

O problema ocorre somente com esse Tag? Chegou a testar com mais algum?

A comunicação está funcionando em runtime? Está lendo as variáveis?

O problema está ocorrendo com mais três variáveis semelhantes a esta. A leitura é feita normalmente.

Envie o log do E3 para o meu e-mail.

Kelvin,

Conforme o log do E3, o Servidor OPC UA está retornando a seguinte mensagem de erro:

WriteValue failed! Result status(80740000) ‘The value supplied for the attribute is not of the same type as the attribute’s value.’

Ok, Paulo. Muito obrigado! Mas o que posso fazer para resolver isso?

Tem como mandar um print da configuração do tipo de dado no Servidor OPC UA?

image

Qual é o Servidor OPC UA? Consegue escrever em Tags de outro tipo de dado?

O servidor OPC UA é o CLP Nexto, da Altus. Eu consigo escrever pelo driver, mas não pelo script. A aplicação faz escrita em outros tipos de dados, está havendo problema somente neste.

Escrever pelo driver quer dizer escrever pelo Studio? Poderia enviar o log disso?

Isso. Consigo escrever pelo Studio.

Kelvin,

Analisando o log, antes dos erros de escrita, aparece a seguinte mensagem de erro:

DeleteMonitoredItems(3) failed! status(0) / result(80100000) ‘The request could not be processed because it specified too many operations.’

A solução é criar a assinatura com um número de Tags inferior ao valor informado nos limites de operação do Servidor OPC UA (provavelmente menos que 1000).

Os limites de operação do Servidor OPC UA podem ser encontrados na árvore ‘ServerCapabilities->OperationLimits’.

Uma alternativa seria instalar a nova versão do E3 (5.1) que foi lançada hoje. Nessa versão é possível gerenciar o tamanho máximo de array de nodos passados por parâmetro nas requisições ao Servidor.

Bom dia, Paulo.

Instalei a versão mais recente. Como faço para gerenciar o tamanho do array?
Também não vi o atributo OperationLimits
image

Obrigado!

O número de tags OPC UA é 149:

image

Kelvin,

Pelo visto, esse Servidor OPC UA não expõe o atributo OperationLimits.

Na versão 5.1, o tamanho máximo do array pode ser gerenciado através da propriedade MaxNodesPerClientCall.

Bom dia, Paulo.

Qual valor devo inserir na propriedade MaxNodesPerClientCall para conseguir escrever nas variáveis? atualmente esta propriedade tem valor 0.

Obrigado.

Olá Kelvin.

Poderia enviar o log do E3 para o meu e-mail?