CINEL - FORMAÇÃO EM LABVIEW

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

Ponto 3 - Ciclos FOR e Temporizações

ponto anterior  ponto seguinte
3 de 7


Ciclos For

O For Loop executa um subdiagrama diversas vezes. A Figura 1, mostra o For Loop em LabVIEW, o fluxograma equivalente à funcionalidade do For Loop e um exemplo do pseudo código para o For Loop.

Figura 1

O For Loop está localizado na palete, Functions>>All Functions>>Structures. Pode também colocar o While Loop no diagrama de blocos, clique do lado direito no limite do While Loop e seleccione Replace with For Loop do menu de atalho para alterar o While Loop para For Loop. O valor no terminal count (terminal de entrada), Figura 2, indica quantas vezes deve repetir o subdiagrama.

O terminal iteration (terminal de saída), Figura 2, contém o número de iterações completas. A contagem da iteração inicia sempre em zero. Durante a primeira iteração, o terminal de iteração devolve 0.
A diferença entre o For Loop e o While Loop é que o For Loop executa um certo número de vezes, enquanto que o While Loop só para a execução do subdiagrama se o valor da condição terminal for encontrado.
O For Loop (Figura 2) gera um número aleatório em cada segundo durante 100 segundos e mostra os números aleatórios num indicador numérico.


Figura 2

Funções Espera

A função Wait Until Next ms Multiple, Figura 3, monitoriza um contador de millisegundos e aguarda até que o contador atinja um múltiplo da quantidade definida. Utilize esta função para sincronizar actividades. Coloque esta função dentro de um ciclo para controlar o a taxa de execução do ciclo.
A função Wait (ms), Figura 3, adiciona o tempo de espera ao tempo de execução; isto pode ser um problema se o tempo de execução for variável.

Nota: O Time Delay Express VI, localizado na palete Functions>>Execution Control, tem um comportamento similar à função Wait (ms) com o complemento de construir error clusters. Para mais informações sobre error clusters consulte Clusters.

Funções Espera
O LabVIEW pode representar dados de tipo numéricos como inteiros assignados ou não (8-bit, 16-bit ou 32-bit); valores numéricos com pontos de flutuação (simples, duplo ou precisão prolongada); ou pode representar valores numéricos complexos (simples, duplo ou precisão prolongada). Quando ligar duas ou mais entradas numéricas de diferentes representações para a função, a função normalmente devolve saídas no formato maior ou mais largo. A função força as representações mais pequenas para as maiores antes da execução. LabVIEW coloca um ponto de coerção no terminal onde a conversão é feita.
Por exemplo, o terminal contador do For Loop é um inteiro de 32 bits. Se ligar um numérico de dupla precisão, ponto de flutuação ao terminal contador, o LabVIEW o numérico para um inteiro de 32 bits. Um ponto de coerção aparece no terminal contador do primeiro For Loop, Figura 3.

Figura 3

Se ligar dois tipos diferentes de dados numéricos a uma função numérica que espera que as entradas sejam do mesmo tipo de dados; o LabVIEW converte um dos terminais para a mesma representação do outro terminal. O LabVIEW escolhe a representação que utiliza mais bits. Se o número de bits é o mesmo, o LabVIEW escolhe o número não assignado em vez do assignado.
O exemplo da Figura 4, um inteiro assignado de 32 bits (I32) e um valor numérico de dupla precisão ponto flutuação (DBL) estão ligados à função Divide. O um inteiro assignado de 32 bits (I32) é forçado desde que utilize menos bits que o valor numérico de dupla precisão ponto de flutuação.

Figura 4

Para alterar a representação de um objecto numérico, clique do lado direito do objecto e seleccione Representation do menu de atalho. Seleccione o tipo de dados que melhor representam o tipo de dado do data.ut.
Quando o LabVIEW converte valores numéricos de dupla precisão ponto flutuação em inteiros, arredonda-os para inteiros mais próximos. O LabVIEW arredonda x.5 para o inteiro composto mais próximo. Exemplo: o LabVIEW arredonda 2.5 para 2 e 3.5 para 4.
Para mais informações sobre tipos de dados, consulte a secção Data Types do Introduction to LabVIEW deste manual ou o LabVIEW Help.

 


 

ponto anterior    ponto 3 de 7    ponto seguinte