Xcontrol - Escrever em um tag via script não funciona? [RESOLVIDO]

Bom dia.

Estou criando uma tela indexada para controle de motores.
Criei um XObjects com 3 tags, um Xcontrol abrindo uma tela modal com outro XControl. Todos referenciados com os tags so XObjects (Arg = Chama_Apoio.Dados.PathName).

As leituras nos displays funcionam perfeitamente, assim como setpoints. Consigo escrever nos tags normalmente.
Porém, quando quero setar um bit ou mesmo escrever um valor via Script, o seguinte erro aparece:

Obs: Modo é um Tag dentro do XObjects. Consigo escrever nele via objeto “setpoint”, só no script que não funciona:

Alguma sugestão ?

Obrigado

Olá Ricardo!

Qual é o tipo da propriedade ‘Modo’? Ela tem alguma associação? E qual é a versão do E3 que você está utilizando?

Olá.

Não tem nenhuma associação e é do tipo Word. Já tentei como Byte e também não deu.

Versão: 4.8.336

Ricardo,

O Pick de ‘Carregar valor’ só funciona com objetos do Servidor. Não vai funcionar nesse caso, com uma propriedade do XObject vinculado ao XControl.

A alternativa é fazer direto por script, por exemplo:

Sub CommandButton3_Click()
	teste.Dados.Modo = 1
End Sub

Eu já havia tentado fazer assim, mas também dá erro:

Detalhe: Não tentei fazer com tag interno, apenas com Tag PLC.

Sugiro alterar o nome da propriedade do XControl (“Dados”), ou então da pasta de Dados. Deve estar dando algum conflito por serem iguais.

Boa tarde Paulo,

Alterei o nome “Dados” do XControl para Tag_Motor, e o erro persiste.

É necessário alterar os scripts e associações que fazem referência à propriedade também.

Sim, alterei todas as referencias . Não funcionou.
Vou fazer um teste com tag interno.

Mesmo com tag interno acorre o mesmo. Consigo escrever via Setpoint, mas não via script.

Pode mandar a aplicação para que eu possa analisar?

O meu e-mail é pgustavo@elipse.com.br.

Ricardo,

Analisando a aplicação pude constatar que o problema está na associação das instâncias do XControl ‘Chama_Apoio’. A propriedade ‘Motor’ é do tipo ‘DadosMotor’, portanto você deve associar essa propriedade a um objeto ‘DadosMotor’. Para isso você tem que adicionar esses objetos na pasta de Dados.

Ok. Para o tag Interno Funcionou !!

Mas como faço com Tag PLC (Bloco) ?

Já descobri como fazer !!

Muito obrigado. Agora funcionou !!