Como ler os elementos de um tag array

Estou com uma aplicação com tags declarados como array (Tag de 10 Elementos)… Como faço para escrever o valor de cada elemento em textbox e vice versa ?

Bom dia Alex,

A partir da versão 5.1 do Elipse E3/Power , foi implementado o suporte ao uso de índices para arrays em expressões de associações. Estes arrays podem ser de qualquer dimensão.

No seu caso, faça um teste inserindo uma associação com a seguinte sintaxe:

image

Délio, boa tarde

Estou usando a versão 5.6 do E3 e mesmo assim não consegui formar esta Sintaxe, ou seja, não consigo achar a opção “Array”

Boa tarde,

No meu exemplo eu simulei um array em uma propriedade de um XObject.
Array seria o nome da propriedade, então no seu caso você deve usar:

Driver.TagArray.Value(index)

Se tiver maiores dúvidas, por gentileza envie a aplicação para o meu e-mail (delio@elipse.com.br), assim tento reproduzir o problema.

Boa tarde Délio

Testei assim funcionou…
Uma última pergunta: Tem como acessar os bits de cada elemento, se sim como ficaria a sintaxe?

Boa tarde Alex,

Neste caso, uma sugestão seria utilizar o método SetBit(Value, BitIndex, BitValue):
Este método ajusta o valor de Value (verdadeiro ou falso) do bit especificado em BitIndex para BitValue.

Digamos que a sua estrutura de elementos do Array seja a seguinte:

image

Em um objeto CheckBox, poderíamos ter o seguinte script:

Sub CheckBox1_Change()
'Seta o valor de CheckBox1.Value em bit00, alterando de 255 para 254
Application.GetObject("Dados1.XObject51").Propriedade1(2) = SetBit(Application.GetObject("Dados1.XObject51").Propriedade1(2),0,Value) 
End Sub

Neste caso simulei o array em uma propriedade de um XObject, você deve ajustar para o seu tag.

Se o tag que contém os elementos permitir a manipulação direta dos bits, basta alterar a propriedade UseBitFields do elemento para TRUE, e realizar uma associação com o bit desejado:

DriverOPC1.GrupoOPC1.Tag.Elemento2.Bit00