Septiembre 2009
Una estructura es un elemento de control del programa. Las estructuras controlan el flujo de datos en un VI. LabVIEW tiene varias estructuras: Bucles While, Bucle For, Estructura Case, Bloque Secuencia , Nodo Fórmula, etc.
El sistema de ejecución de LabVIEW sigue el modelo de flujo de datos (un nodo necesita tener disponibles los datos en todas sus entradas para ejecutarse). La estructura “Secuencia”, que se ilustra como diapositivas o negativos de una película, ejecuta los diagramas de bloque de forma secuencial. Las estructuras “secuence” definen el orden de ejecución del código que está en su interior.
Ejemplo: Archivos de programa\LabVIEW8.5\examples \general\structs.llb
Una estructura case son 2 o más subdiagramas de manera que solo uno de los dos se ejecuta (cuando cumple la condición) mientras la estructura está en ejecución. Esto depende del valor que cableemos al selector, representado con el símbolo [?], que evaluará la condición para seleccionar el subdiagrama a ejecutar. Solo un subdiagrama es visible a la vez.
Selector
Un bucle “while” es una estructura que repite una sección de código hasta que se cumpla una condición determinada. La condición es evaluada en cada iteración.
Terminal de iteración
Condición de Stop
El bucle se detiene Cuando el valor es True
N=100; i=0; Until i=N: Repeat (code; i=i+1); End;
Lazo For de LabVIEW
Diagrama de Flujo Pseudo Código
Usaremos el lazo For cuando queramos que una operación se repita un determinado número de veces. Al colocar un lazo For en la ventana de Diagrama, se observa que tiene dos terminales asociadas: ◦ Terminal de conteo (N): Contiene el número de veces que se repetirá el subdiagrama creado en el interior de la estructura. ◦ Terminal de iteración (i): Indica el número de veces que se ha ejecutado la estructura, cero en la primera iteración, uno en la segunda y así hasta N-1.
Ambos terminales son accesibles en el interior de la estructura, es decir, sus valores podrán formar parte del subdiagrama, pero en ningún caso se podrán modificar.
Los registros de desplazamiento son variables locales, disponibles tanto en el lazo For como el While, que permiten transferir los valores del final de una iteración al principio de la siguiente. Inicialmente un Shift Register tiene dos terminales colocadas a ambos lados del lazo. El terminal de la derecha almacena el valor final de la iteración hasta que una nueva hace que este valor se desplace al terminal de la izquierda, quedando en el de la derecha el nuevo valor.
Un mismo registro de desplazamiento puede tener más de un terminal del lado izquierdo, para añadirlo escogeremos la opción Add Element (añadir elemento) del menú contextual. Valores anteriores
Borra un elemento
Borra el Shift Register
Al igual que en otras estructuras los datos que entran y salen de una estructura While o For lo harán a través de túneles.
Autoindexing Deshabilitado (túnel)
Autoindexing Habilitado (array)
Los túneles alimentan datos dentro y fuera de las estructuras. El túnel es un bloque que aparece a la orilla; el color del bloque es relacionado al tipo de datos cableado en el túnel. Cuando el túnel pasa datos dentro de un lazo, el lazo se ejecuta solo después de que de que los datos llegaron al túnel. Los datos pasan fuera del lazo después de que el lazo termina.
Cuando se cablea un array desde el exterior al interior de un bucle y se habilita autoindexing, los valores leídos en ese terminal serán los elementos que componen el array. Cuando autoindexing está en la salida del lazo ocurre lo contrario, se construye un array cuyos elementos serán los generados en cada iteración
La representación por Default de un control o indicador es un número de coma flotante de doble precisión. LabVIEW automáticamente convierte a diferentes representaciones. La terminal de conteo del lazo siempre convierte a un entero largo.
Un icono representa un Vi en otro diagrama a bloques
Un Conector pasa datos a y recibe datos de un subVI a través de terminales.
Un VI dentro de otro VI es llamado un SubVI. Para usar un VI como un SubVI, crea un icono y un conector después de construir el panel frontal y el diagrama a bloques.
Icono: Representación gráfica de un VI Dar doble clic en el icono (Panel frontal o diagrama). Por default siempre se crea un icono B/N.
Es una función de características similares a las estructuras, pero que contiene una o más fórmulas separadas por un punto y coma (;), en lugar de subdiagramas. Usaremos Formula Node cuando queramos ejecutar fórmulas matemáticas que serían complicadas de crear utilizando las diferentes herramientas matemáticas de LabVIEW incorpora en sus librerías.
Una vez escrita la fórmula en el interior del rectángulo solo tendremos que añadirle las terminales que harán las funciones de variable de entrada y variable de salida. Para ello se usará el menú contextual (pop-up menu) y se ejecutará el comando: ◦ Add Input (Añadir entrada) ◦ Add Output (Añadir salida)
No hay límite para el número de variables o de fórmulas. Nunca podrá haber dos entradas o dos salidas con el mismo nombre, aunque una salida sí podrá tener el mismo nombre que una entrada. Todas las variables de salida deberán estar asignadas a una fórmula por lo menos una vez.
If (condición) sentencias1 else sentencias2 Do sentencias while (condición) While (condición) sentencias For (asignación; condición; sentencia) sentencias Switch (condición) lista de casos
Otras palabras reservadas son: break, case, continue, default, pi. Para más información consultar la ayuda.
La sintaxis de un expresión incondicional es la siguiente: