Programação gráfica
Adriano A. Santos Departamento de Engenharia Mecânica Politécnico do Porto
ARRAY OU ARRANJO Os array (arranjos) agrupam elementos de dados do mesmo tipo. Um arranjo é constituído por elementos e dimensões. Os elementos são os dados que compõem o arranjo. A dimensão é o comprimento, altura ou profundidade do arranjo. Um arranjo pode ter uma ou mais dimensões e até 231 – 1 elemento por dimensão, se a memória, do equipamento, o permitir. Os arranjos podem ser constituídos com dados numéricos, booleanos, string, cluster, entre outros. Estes são ideais para armazenar dados recolhidos de formas de ondas ou dados gerados em loops, onde cada iteração do loop produz um elemento do arranjo. Deve-se ainda referir que os elementos do arranjo são ordenados usando-se um índice que permite o acesso, direto, a um qualquer elemento específico do arranjo. O índice é de base zero o que significa que se encontra definido num intervalo de 0 a n-1, onde n é o número de elementos constantes do arranjo. Se considerarmos, por exemplo, n = 9 (para os nove planetas do sistema solar), o índice varia de 0 a 8 onde, a Terra, sendo o terceiro planeta, possuirá o índice 2. A inserção de um arranjo (array) é realizada recorrendo à paleta Controls >> Array Matrix & Cluster, do painel frontal, Figura 16.
robótica
20
AUTOMAÇÃO E CONTROLO
3.ª Parte
Figura 16. Inserção de um Array.
Os array podem ser configurados como grupos de entrada ou de saída de dados. Para isso, os controlos ou indicadores devem ser colocados no interior do Shell do array (estrutura) dentro da janela de objetos, antes de se alocar ao Diagrama de Blocos. Caso contrário, o terminal do array aparecerá em preto com um parênteses vazio. Por outro lado, se você tentar arrastar um controle ou indicador inválido, como um gráfico XY, para o shell do array, este não permitirá que solte o controlo ou indicador no shell da mesma.
CRIAÇÃO DE UM ARRAY CÍCLICO A criação de um array cíclico passa pela interligação de um túnel de entrada de um ciclo For ou While. Esta interação entre os elementos referidos permite ler e processar cada um dos
elementos desse array ativando-se a indexação automática (auto-indexing) no menu contextual do túnel. Assim, quando se indexa automática um túnel de saída de um array, o array de saída recebe um novo elemento a cada iteração do ciclo. Ao ativar-se o auto-indexing, no túnel de saída do bordo do ciclo surgem uns colchetes quadrados que representam um array e o fio do túnel de saída para o indicador de matriz torna-se mais espesso, conforme mostrado na ilustração da Figura 17.
Figura 17. Criação de um Array cíclico.
A desativação da indexação automática é realizada clicando com o botão direito do rato no túnel e selecionando-se Disable Indexing no menu de atalho ou contextual. Ao desativar-se a indexação automática apenas o último valor passado para o túnel será visualizado. Por outro lado, uma vez que podemos utilizar os ciclos For para processar os arrays e elementos ao mesmo tempo, o LabVIEW habilitará a indexação automática, por defeito, para cada array que se ligar ao ciclo For enquanto, a indexação automática para ciclos While será desabilitada por por defeito. Para ativar a indexação automática, clica-se com o botão direito do rato no túnel e seleciona-se Enable Indexing no menu de atalho. Se se habilitar a indexação automática em um array ligado a um terminal de entrada de um ciclo For, o LabVIEW configura o terminal de contagem para o tamanho do array, pelo que não será preciso ligar o terminal de contagem. Por outro lado, se se habilitar a indexação automática para mais de um túnel ou se ligar o terminal de contagem, a contagem se tornará a menor das opções. Por exemplo, se se ligar uma matriz com 10 elementos a um túnel de entrada For e definir o terminal de contagem como 15, o ciclo será executado 10 vezes. Podemos usar dois ciclos For, um dentro do outro, para criar um array 2D. O ciclo For externo cria os elementos linha e o ciclo For interno cria os elementos coluna (Figura 18).
Figura 18. Criação de um Array 2D.