CINEL - FORMAÇÃO EM LABVIEW

UNIDADE 3 - Passagem de dados de Loops por "Túneis"

Ponto 2 - Auto Match VI

ponto anterior  ponto seguinte
2 de 7


Auto Match VI

Exercício 1:

Complete os passos seguintes para construir um VI que gere números aleatórios até que os números gerados coincidam com um dos números especificados. O terminal iteration terminal grava o número de números aleatórios gerados até encontrar uma correspondência.

Painel Frontal

  1. Abra um novo VI e construa o Painel Frontal, Figura 1. Altere os controlos e indicadores conforme Figura 1 e descrito nos seguintes passos:

Figura 1

  1. Coloque um controlo numérico, localizado na palete Controls>>Numeric Controls do painel frontal. Nomeie o controlo Number to Match. Este controlo indica o número a coincidir.
  2. Coloque um indicador numérico, localizado na palete Controls>>Numeric Controls do painel frontal. Nomeie o indicador Current Number.
    Este indicador mostra o número aleatório actual.
  3. Coloque outro indicador numérico no painel frontal. Nomeie esse indicador como Number of iterations. Este indicador mostra o número de iterações antes coincidir.

Definir o intervalo de dados

Defina o intervalo dos dados para um controlo, assim pode evitar que utilizador seleccione um valor que não seja compatível com o intervalo. Pode ignorar um valor que esteja fora do intervalo ou pode forçá-lo para que fique dentro do intervalo. Complete os seguintes passos (pág. 2) para definir o intervalo entre 0 e 10000 com uma margem de 1 e um valor por defeito de 50.

  1. Faça clique do lado direito do controlo Number to Match e seleccione Data Range do menu de atalho. Aparece a página de Data Range da caixa de diálogo Numeric Properties.
    1. Remova o checkmark do checkbox Use Default Range
    2. Defina o Default Value para 50
    3. Defina o Minimum value para 0 e seleccione Coerce do menu Out of Range Action
    4. Defina o Maximum value para 10000 e seleccione Coerce do menu Out of Range Action
    5. Defina o valor de Increment para 1 e seleccione Coerce to Nearest do menu Out of Range Action. Não feche a caixa de diálogo.

Modificar dígitos de precisão

Por defeito, o LabView automaticamente formata controlos numéricos. Pode especificar a precisão ou a notação. Pode disponibilizar valores numéricos no ponto de flutuação, cientifico ou notação SI. Complete os seguintes passos para alterar a precisão para 0.

  1. Seleccione a tab Format and Precision. Se a caixa de diálogo Numeric Properties estiver fechada, faça clique do lado direito no indicador Current Number e seleccione Format & Precision do menu de atalho. A página Format & Precision da caixa de diálogo Numeric Properties aparece.
    1. Seleccione Floating Point e altere Significant digits para Digits of precision.
    2. Digite 0 na caixa de texto Digits of precision e prima o botão OK.
  2. Repita os passos para definir a precisão do Current Number e do Number of iterations dos indicadores.

Diagrama de Blocos

  1. Construa o diagrama de blocos da Figura 2.
    Figura 2
    1. Coloque a função Random Number (0-1), localizada na palete Functions>>Arithmetic & Comparison>>Express Numeric no diagrama de blocos. Esta função produz um número aleatório entre 0 e 1.
    2. Coloque a função Multiply, localizada na palete Functions>>Arithmetic & Comparison>>Express Numeric no diagrama de blocos. Esta função multiplica o número aleatório por 10,000 para produzir um número aleatório entre 0 e 10,000..
    3. Faça clique lado direito terminal y da função Multiply, seleccione Create>>Constant do menu de atalho. Digite 10000 e prima a tecla <Enter> para criar uma constante numérica.
    4. Coloque a função Round To Nearest, localizada na palete Functions>>Arithmetic & Comparison>>Express Numeric do diagrama de blocos. Esta função arredonda o número aleatório para o inteiro mais próximo.
    5. Coloque a função Not Equal?, localizada na palete Functions>>Arithmetic & Comparison>>Express Comparison do diagrama de blocos. Esta função compara o número aleatório com Number to Match e devolve o valor True se forem diferentes se não devolve False.
    6. Coloque While Loop, localizada na palete Functions>>All Functions>>Structures do diagrama de blocos. Clique do lado direito do terminal condicional e seleccione Continue if True do menu de atalho.
Nota: Quando necessitar de um botão para interromper o While Loop, localizado na palete Execution Control, utilize o controlo Execution Control. Neste exercício utiliza o controlo Number to Match para interromper o ciclo; não necessita do botão Stop.
    1. Ligue o terminal iteration ao limite do While Loop. Um túnel azul aparece no limite do While Loop. Deve ligar o túnel à função Increment. Cada vez que o ciclo for executado o terminal de iteração incrementa por 1. A iteração conta os passos fora do ciclo até à conclusão. Incremente este valor por 1 fora do ciclo. Porque a contagem começa em 0.
    2. Coloque a função Increment localizada na palete Functions>>Arithmetic & Comparison>>Express Numeric do diagrama de blocos. Esta função adiciona 1 à contagem do While Loop. Um ponto de coerção aparece na saída do Number of iterations, para indicar que o LabVIEW força a representação numérica do terminal de iteração para coincidir com a representação numérica. Para mais informações sobre a conversão numérica consulte a secção For Loops.
  1. Grave o VI e como Auto Match.vi na directoria C:\Exercises\LabVIEW Basics I.

Execute o VI

  1. Disponibilize o painel frontal e altere o número no Number to Match.
  2. Execute o VI. Altere o Number to Match e execute o VI novamente. O Current Number é actualizado a cada iteração do ciclo, porque está dentro do ciclo. Number of iterations é actualizado depois da sua conclusão, porque está fora do ciclo.
  3. Para ver como o VI actualiza os indicadores, active o destaque da execução. Na barra de ferramentas do diagrama de blocos, clique o botão Highlight Execution, visível à esquerda para activar o destaque da execução. O destaque da execução mostra o movimento dos dados no diagrama de blocos de um nó para outro, para que seja possível visualizar cada número quando é gerado pelo VI.
  4. Altere o Number to Match para um número que esteja fora do intervalo (0 a 10000), com um margem de 1.
  5. Execute o VI. O LabVIEW força o valor do intervalo para um valor especificado no intervalo.
  6. Feche o VI.


 

ponto anterior    ponto 2 de 7    ponto seguinte