Post on 20-Jun-2015
description
transcript
Estructuras en LabVIEW
7
Estructuras
For loop
While loop
Case Structure
Secuence Structure
Event Struture
Time Structures
Formula Node
Programming>>Structures
Othoniel Hernández Ovando
Ciclo Para (For Loop)
Número de veces que
se ejecuta el ciclo
Número de iteraciones
completadas
For (i=0,i<N,i++)
{
}
end
C/C++
Ejecuta el código dentro de sus bordes un número definido de veces.
Othoniel Hernández Ovando
Ciclo Para (For Loop) Auto - Indexing
Capacidad para ordenar y acumular en los límites de los ciclos For y
While un nuevo elemento por cada iteracion. Cada elemento se guarda
automicamente en matrices (arrays).
IMPORTANTE
Esta habilitado por default para los ciclos For, pero deshabilitado por default para los ciclos While.
Othoniel Hernández Ovando
Ciclo Para (For Loop) Auto - Indexing
Deshabilitar el Auto - Indexing
Solo un valor (última iteración) pasa a través del cable
Othoniel Hernández Ovando
Ciclo Para (For Loop) Auto - Indexing
Túnel de entrada con Auto – Indexing habilitado (A) y deshabilitado (B)
(A)
(B)
Solo un elemento pasa a través del túnel por cada
iteración
La matriz completa pasa a través del túnel por cada
iteración
Othoniel Hernández Ovando
Ciclo Para (For Loop) Auto - Indexing
Si la terminal de cuenta del ciclo For tiene un valor de 100 y a la entrada del ciclo se conecta una matriz de 1D con 10 datos. ¿Cuántas veces se ejecuta el ciclo?
Tamaño de la matriz = 10
El ciclo For se ejecuta 10 veces, no 100
Othoniel Hernández Ovando
Ciclo Para (For Loop) Matriz 2D
Control digital de una matriz de 2D
2 ciclos For crean una matriz de 2D
Columnas
Filas
Othoniel Hernández Ovando
Ciclo Mientras (While Loop)
Terminal de condición
(Stop si es verdadero)
Terminal de iteración
Do
Ejecuta subdiagrama
While condición es FALSA
(Until condición es VERDAD)
C/C++
Ejecuta el código dentro de sus bordes indefinidamente hasta que el valor
booleano cableado a la terminal de condición es verdadero.
Othoniel Hernández Ovando
Ciclo Mientras (While Loop)
Terminales dentro del ciclo y otros problemas de funcionamiento.
• Debes colocar las terminales
dentro del ciclo si quieres que la
terminal cheque o actualice en
cada iteración del ciclo.
¿Qué pasará aquí?
• Si la terminal de control booleana se
coloca fuera del ciclo While, crearás un
ciclo infinito o un ciclo que se ejecutará
solo una vez, dependiendo del valor inicial
del booleano.
Othoniel Hernández Ovando
Ciclo Mientras (While Loop)
Terminales dentro del ciclo y otros problemas de funcionamiento.
• El indicador dentro del ciclo se
actualizará por cada iteración.
• El indicador fuera del ciclo se
actualizará una vez, al final del
ciclo.
• Normalmente algún tipo de retardo en
milisegundos es insertado para no ocupar
todo el tiempo del CPU.
Othoniel Hernández Ovando
Casos (Case Structure)
Es un método de LabVIEW para ejecutar textos condicionales, parecido a
la sentencia “If-then-else”.
Terminal de selección
En los casos, solo uno de ellos se ejecuta a la vez dependiendo del valor
booleano, numérico o cadena conectado a la terminal de selección.
Othoniel Hernández Ovando
Casos (Case Structure)
Puedes tener desde uno
hasta un numero casi
ilimitado de casos.
Siempre seleccionar un
caso por Default en
valores numéricos y
cadena.
Si en la terminal de
selección se presenta un
valor para un caso no
definido, este no es
capaz de correr.
Se puede designar un
caso para todo un rango
de valores usando la
notación
.. (ejemplo: “2..5”)
Cuando se especifica un
caso como Default nunca
usar comillas alrededor
de la palabra. El uso de
comillas significa una
cadena cuyo valor es
“Default”.
Cuando se cablea una salida
de un caso, un pequeño
túnel blanco aparece en
todos los casos. La flecha de
correr se romperá hasta que
un cable de dato este
presente en todos los casos.
Use Default If Unwire
Othoniel Hernández Ovando