KB-28855: Enviando múltiplos valores de uma só vez para um bloco de comunicação.

Descrição:

É possível escrever múltiplos valores em um bloco de uma só vez, ao invés de escrevê-los no elemento?

Solução:

Sim. Para isto, desabilite a propriedade AllowWrite (False) do bloco de comunicação para definir que este não efetue escritas automáticas.

A escrita em um bloco pode ser feita de duas maneiras:

1. Utilizando o método WriteEx:

  • Crie um Array com o mesmo tamanho (número de elementos) de seu bloco de comunicação;
  • Passe o valor a ser escrito no elemento do bloco para cada um dos elementos do Array;
  • Após carregar o Array com os valores, utilize o método WriteEx para escrever os valores.

Exemplo do script:

'Declarando tamanho do Array
Dim ArrayValor(4)

'Carrega elementos do Array
ArrayValor(0) = 10
ArrayValor(1) = 20
ArrayValor(2) = 30
ArrayValor(3) = 40
ArrayValor(4) = 50


'Escreve no bloco
Application.GetObject("Driver1.Bloco").WriteEx ArrayValor

2. Utilizando o método Write:

  • Desabilite a propriedade AllowRead (leitura automática) do bloco de comunicação no qual deseja realizar a escrita;
  • Carregue os elementos do bloco com os valores desejados;
  • Após os valores terem sido carregados, utilize o método Write para realizar a escrita dos valores dos elementos carregados anteriormente;
  • Após realizar a escrita, habilite novamente a propriedade AllowRead do bloco (True).

Exemplo de script:

'Desabilita a leitura
Application.GetObject("Driver1.Bloco").AllowRead = False

'Carrega valores nos elementos
Application.GetObject("Driver1.Bloco.Elemento1").Value = 10
Application.GetObject("Driver1.Bloco.Elemento2").Value = 20
Application.GetObject("Driver1.Bloco.Elemento3").Value = 30
Application.GetObject("Driver1.Bloco.Elemento4").Value = 40
Application.GetObject("Driver1.Bloco.Elemento5").Value = 50

'Escreve no bloco
Application.GetObject("Driver1.Bloco").Write()

'Habilita a leitura
Application.GetObject("Driver1.Bloco").AllowRead = True

Anexo a este artigo está uma aplicação exemplo que ilustra os procedimentos descritos acima.

Anexos:

AppExemplo

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 *