Capítulo 6
Arrays & Clusters
Arrays & Clusters
• Uma array é uma lista de informações indexadas todas do
mesmo tipo. Ela pode ter no máximo
((2exp31)) -1
elementos por dimensão e podem ter várias dimensões.
• Um Cluster é, basicamente, um array que pode conter
informações de tipos diferentes. (exceto array, chart ou
graph)
• A indexação começa sempre na posição 0 até n-1, onde n
é o número máximo de elementos.
• Ondas senoidais, por exemplo, podem ser armazenadas
em arrays, pois cada ponto de sua amplitude pode ser um
elemento deste array ( 1D ). Caso hajam mais ondas, basta
aumentar sua dimensão. ( Ex. 2 D )
• Arrays podem ser de dois tipos: 1D arrays ou 2D arrays
É uma 1D array quando possui apenas uma linha, de N
elementos:
1
2
3
4
5
6
7
..N
É uma 2D array, possui mais de uma linha:
1,1
2,1
3,1
4,1
5,1
6,1
7,1
X,1
1,2
2,2
3,2
4,2
5,2
6,2
7,2
X,2
1,3 2,3
3,3
4,3 5,3 6,3
7,3 X,3
1,4
3,4
4,4
7,4
2,4
1,Y 2,Y
5,4
6,4
X,4
3,Y 4,Y 5,Y 6,Y 7,Y X,Y
Array Controls e Indicators
• Podemos criar um array controls ou indicator no
painel frontal ou diagrama de fluxo de dados,
combinando um array shell com um numeric,
Boolean, string ou cluster. O elemento do array não
pode ser array, chart ou graph.
• É necessário dois “steps” para a criação de um array
control ou indicator :
– Selecione um array shell no subpalette Array &
Controls Palette e arraste-o para dentro do
controle.
– Coloque dentro do array shell um dado válido
Boolean ou string ). Redimensione o array
acomodar os novos dados.
Cluster do
painel de
( númeric,
shell para
Array Controls e Indicators - Step 1
3
1
Clique em
Array & Cluster
2
Selecione
Array
Mova o
array shell
e solte
Array Controls e Indicators - Step 2
A janela é ajustada
automaticamente
Escolha um Digital Control
O index value correspode
ao primeiro elemento visível
do array
Defina o número de
elementos que você
deseja ( use a seta )
Terminal de um Array Shell
Array Shell
Array de string
Terminal com
bordas pretas
Colchete significa
um array
Terminal com bordas cor de rosa
significa um array de strings
Array Multidimensional
Adicionando dimensões a um array
Array 2D
Criando um 2D Array com Loops
Arrays
• Assim como as Strings, Arrays possuem diversas funções
que são utilizadas em sua manipulação.
• As funções são, na verdade, muito parecidas.
• Algumas delas poderiam ser criadas
pelo próprio
programador, porém isso seria muito trabalhoso, gerando um
atraso desnecessário ao projeto.
A seguir, algumas das funções mais utilizadas quando
trabalhamos com arrays.
Array Size
• Array Size - Retorna o número de elementos em cada
dimensão de uma array. A array de entrada pode ser n dimensional, de qualquer tipo.
• Teste o arquivo Array Size Demo.vi
Index Array
• Index Array - Retorna o elemento da array na posição
requerida.
• Pode-se localizar quantos elementos forem necessários
adicionando mais terminais. A saída será uma Sub - Array,
que conterá os elementos localizados.
• Teste o arquivo Array Index Demo.vi
Replace Array Element
• Replace Array Element - Troca o elemento de
determinada posição da array por outro.
• Pode-se trocar N posições, porém com o mesmo novo
elemento.
• NEW ELEMENT - É o elemento a ser inserido
• A saída será a array original com os elementos definidos
já trocados.
Array Subset
• Array SubSet - Retorna uma porção de uma array
começando no Index, e pegando o número de caracteres
definido por LENGHT.
• Pode-se incluir N segmentos a serem procuradas. A saída
será uma sub - array, com todos os segmentos encontrados.
• Teste o arquivo Array Subset Demo.vi
Initialize Array
• Initialize Array - Cria um array n - dimensional com
elementos contendo o valor que você especificou. Todos o
elementos são inicializados com o mesmo valor.
• Teste o arquivo Array Initialization Demo.vi
Build Array
• Build Array - Concatena os elementos das entradas a
uma array, de cima para baixo.
• Podem haver N entradas, o que implica em N+1 linhas.
• Os elementos de entrada pode em ser Arrays, mas seu
comprimento deve ser igual ou menor do que a array a
serem concatenados.
• Teste o arquivo Array Build Demo.vi
Transpose 2D Array
• Transpose 2D Array - Transpõe os elementos de uma
2D array.
• A transposição é feita trocando as linhas pelas colunas,
assim uma array, antes [I,J] ficará sendo [J,I] .
• A array pode ser de qualquer tipo .
Split 1D Array
• Split 1D Array - Divide uma 1D array em duas sub arrays, na posição determinada pelo INDEX.
• Se o index for menor ou igual a zero, a primeira sub array será vazia.
• Se o index for maior do que o tamanho da array, a
segunda sub - array estará vazia.
Sort 1D Array
• Sort 1D Array - Rerranja os elementos de uma array de
forma que fiquem em ordem crescente.
• A 1D array não pode ser booleana.
Array Max & Min
• Array Max & Min - Procura pelo maior e o menor valor
de uma array e retorna esses valores, e sua localização.
Clusters
• Um cluster, ao contrário de uma array, pode conter vários
tipos de dados dentro de suas partições.
• Essa característica nos permite simplificar a ligação entre
processos, já que muitas vezes eles não estão utilizando
variáveis diferentes.
• Seus benefícios se estendem até mesmo na visualização
no projeto, que se torna mais fácil e “limpa”.
Suas funções serão vistas a seguir :
Array to Clusters
• Permite a conversão de uma 1D Array para um cluster,
do mesmo tipo dos elementos dessa array. O tamanho
padrão de elementos deste Cluster é nove, que pode ser
estendido até 256. Para se mudar o tamanho, basta dar
um clique direito, e modificar suas propriedades.
Build Cluster Array
• Cria, a partir dos componentes de suas entradas, de cima
para baixo, uma Array de Clusters desses componentes. Se
a entrada for de 4 Pontos Flutuantes, de uma casa decimal
de precisão, a saída será uma array de clusters de quatro
elementos contendo um número Ponto Flutuante, com uma
casa decimal de precisão. O elemento 0 da array terá o
valor da primeira entrada, e assim sucessivamente.
Bundle
• Organiza todos os componentes de entrada em um só
cluster.
Exemplo da Função Bundle
Cluster Bundle Demo.vi
Bundle by Name
• Troca os componentes do cluster de entrada. A seleção
dos componentes é feita com um clique direito nos
terminais de entrada, através da seleção do nome na lista
de elementos do cluster a ser modificado. É obrigatório que
haja um Cluster de entrada.
Cluster to Array
• Converte um 1D Cluster para uma 1D array. É obrigatório
que todos os componentes deste cluster sejam do mesmo
tipo.
Index & Bundle Cluster Array
• Faz a indexação de uma série de arrays, e cria um cluster
array, cujo n-ésimo elemento contém o n-ésimo elemento
de cada uma das arrays de entrada.
Unbundle
• Fragmenta um cluster em seus componentes originais.
Teste o arquivo Cluster Unbundle Demo.vi
Unbundle By Name
• Fragmenta os elementos do cluster especificados. O
nome deve ser selecionado no terminal de saída, através
de um clique direito, selecionando a partir da lista de
elementos deste cluster.
Download

LabVIEW(cap.6)