Worbech. Es un lenguaje y a la vez un entrono de programacin grafico. National instrument es la empresa desarrolladora y propietaria de Lab View. En abril de 1983 comenz el desarrollo de lo que seria su producto estrella: LabView sale a la luz en octubre de 1986. Inicia en ordenadores macintosh. Para windows sale en septiembre de 1992.
Originalmente este programa estaba orientado a aplicaciones de control de instrumentos electrnicos usadas en el desarrollo de sistemas de instrumentacin, lo que se conoce como instrumento virtual. Por este motivo los programas creados en lab view se guardan en ficheros llamados VI, que significa instrumento virtual. Un instrumento real tendr un Panel Frontal donde estarn sus botones, pantallas, etc. y un diagrama de bloques donde estar la circuitera externa. Panel Frontal, es la parte que vera el usuario, suele tener fondo gris.
Diagrama de bloques, es donde se realizar la programacin y suele tener fondo blanco.
En la parte superior de estas ventanas se sita una barra con varias herramientas.
El primer botn indica si hay errores en el programa (flecha rota) y, cuando no los hay (flecha completa como en la imagen). El segundo botn ejecuta de forma continua el programa, como regla general no debe usarse. El tercer botn aborta la ejecucin. El cuarto botn permite realizar una pausa. El segundo grupo de botones sirve para ayudar a su depuracin.
El primer botn es Highlight Execution, realiza la ejecucin permitiendo ver el camino que siguen los datos en el programa. El siguiente, Retain Wire Values permite que al colocar un probe se obtenga el valor anterior. Los tres siguientes se utilizan para ejecutar el programa paso a paso.
El menu desplegable permite formatear textos, ( Application Font o System Font).
El siguiente grupo se puede usar para alinear, distribuir, controlar el tamao y ordenar objetos.
Abre la ayuda.
icono que representa un VI. Tiene un menu contextual que permite acceder a diversas caractersticas.
Combinacin de teclas Funcin CTRL + R Ejecucin de programa CTRL + . Aborta la ejecucin CTRL + E Conmuta entre las dos ventanas principales CTRL + B Elimina los hilos rotos CTRL + H Muestra u oculta la ayuda contextual CTRL + ? Muestra la ayuda CTRL + C Copia los objetos seleccionados al portapapeles CTRL + X Corta los objetos seleccionados al portapapeles CTRL + V Pega los objetos desde el portapapeles CTRL + Z Deshace la ultima accin CTRL + SHIFT +Z Rehacer CTRL + S Guarda el VI TAB Cambia ntrelas herramientas de la paleta de herramientas CTRL + ARRASTRAR Crea una copia de los objetos seleccionados SHIFT + ARRASTRAR Mueve los objetos solamente en una direccin Men de herramientas
Cmo accesar a la paleta de herramientas? Automatic tool selection. Si esta activado selecciona la herramienta de forma automatica.
Operate value. Esta disponible cuando el VI esta disponible, sirve principalmente para cambiar valores en los controles del Panel frontal.
Position/Size/select, sirve para seleccionar objetos, tambien sirve para cambiar el tamao y seleccionar elementos.
Edit Text. Cambia el cursor para poder escribir texto.
Connet wire. Es la herramienta que sirve para cablear.
Objet shortcut menu. Despliega el menu contextual asociado a un elemento.
Scroll Window. Sirve para mover el contenido de las ventanas.
Set /Clear Breakpoint. Crea o borra un punto de ruptura en un determinado elemento.
Probe data. Crea un probe en un cable.
Get color. Obtiene el valor del color de un elemento.
Set color Colorea un elemento. Tiene dos posibles colores, el principal y el de fondo.
El menu que aparece en el Panel frontal es el men de controles. Los controles estn clasificados segn su estilo en en varios submenus: Modern, system y clasic.
Se muestra al trabajar sobre el diagrama de bloques, en ella se puede acceder a las diferentes funciones. Las funciones ms usadas son las del submen programing. Los siguientes mens de programaing se dividen segn el tipo de datos: a. Estn los datos simples como los numricos, booleanos y string (texto). b. Estn los compuestos como los clusters y arrays. Cada uno de estos mens tienen funciones para trabajar con estos datos. Datos simples:
Datos compuestos
Un programa habitualmente esta formado por: 1. Controles: Sirven de entrada para los datos. 2. Funciones, Vis y estructuras: realizan una o varias operaciones con esos datos. 3. Indicadores: sirven de salida para los datos. Hacer que una parte del cdigo sea un VI distinto, se consigue de la siguiente forma: En el diagrama de bloques ir a Edit> Create Sub VI, al hacerlo el cdigo seleccionado ser sustituido por el icono de un VI. Con doble clic sobre el icono se acceder al cdigo de este sub VI. Seleccin de la parte deseada 1) Guardar el VI 2) Situarse en el panel frontal, y hacer clic con el botn secundario del ratn sobre el icono del VI. 3) En el men contextual se mostrara el conector Estructuras (structures)
Las instrucciones de control permiten a un programa ejecutar un cdigo de forma condicional o repetirlo cierto numero de veces.
En Lab View estas instrucciones son estructuras que encierran en su interior el cdigo al que afectan. Se encuentran en el men programing>Structures. Del lado de Diagrama de bloques, al dar click con botn derecho aparece la siguiente cascada.
Al expader la cascada aparece la funcion, programing y dentro de programing encontramos las instrucciones de structures Dentro de las instrucciones structures se encuentran las siguentes:
FOR, el bucle FOR es muy parecido al WHILE, tambien repite el codigo de su interior un numero de veces, pero a diferencia del anterior este numero es fijado antes de correr el programa y no puede cambiarse una vez que empiece a ejecutarse.
Consta de dos terminales numricos. El terminal de la iteracin se sita en el interior de la estructura y se va incrementando en una unidad por cada iteracin empezando desde cero. el terminal de cuenta esta colocado en la esquina superior izquierda simbolizado con una N. En el cual se conectara un valor numrico que ser el que fije el numero de repeticiones del bucle. En el ejemplo se muestra las terminales que se pueden conectar a un FOR.
Utilizando feedbak Node.
WHILE, El bucle WHILE repetir el cdigo de su interior hasta que se cumpla una condicin, la cual es evaluada en cada iteracin. El terminal de iteracin es el cuadrado azul con el simbolo i. La condicion de stop es el terminal verde de la esquina inferior derecha. Estructura WHILE:
Ejemplo de WHILE:
Ejemplo de WHILE:
Sequence Puede haber ocasiones en que haya nodos independientes, ambos en situacin de ejecutarse, pero se necesita fijar el orden de los mismos. Las estructuras de tipo SEQUENCE sirven precisamente para esto: ordenan el orden de ejecucin del cdigo que esta en su interior. Las estructuras SECUENCE cuentan con fotogramas o frames ordenados, en el interior de cada frame se situara una seccin de cdigo. La ejecucin comenzar por el primer frame y cuando acabe se pasar a ejecutar el siguiente, y as sucesivamente. Hay dos tipos de SECUENCE: STACKED SECUENCE y FLAT SECUENCE. La primera tiene un men en la parte superior donde se indica la numeracin del frame que se muestra, el numero total de frames que contiene y adems da la opcion de situarse en otro.
La opcin Sequence Local crea unos tneles entre un frame y los dems para compartir datos, en uno de ellos se escribir un valor (simbolizado con la flecha al exterior del frame) y en los posteriores podr leerse (con una flecha hacia el interior) FLAT SECUENCE Funciona de igual forma, slo que es ms visual, los frames se ven uno a continuacin de otro, el orden de ejecucin ser de izquierda a derecha. En este caso no hay secuence local y los datos podrn cablearse directamente desde un frame a otroa travs de tneles.
Ejemplo de SEQUENCE Ejemplo Secuencia 5.
semaforo Ejemplo
Formula node La estructura FORMULA NODE puede encontrarse tanto en el men Programming > Structures como en Mathematics > Formulas. FORMULA NODE no controla el flujo de ejecucin, sino que evala una expresin matemtica escrita como texto con una sintaxis parecida al lenguaje C. El texto consistir en una serie de sentencias finalizadas por el simbolo ;.
Los operadores son: **: exponenciacion. +,-,++,--,!,~: suma y resta, pre-post incremento- decremento, negacion logica y complemento de bits. *,/,%,+,-: operaciones basicas. >>,<<: desplazamientos. <,>,>=,<=,!=,==: comparaciones. &,^,|,&&,||: operaciones logicas. ?...::evaluacion condicional. =: asignacion. Presionando el botn secundario en los bordes de la estructura pueden crearse variables de entrada o de salida. EVENT En este men se tiene una condicin que hace que el cdigo del subdiagrama correspondiente se ejecute. La diferencia con el CASE es que EVENT detiene la ejecucin del hilo del programa hasta que se da esa condicin, es decir, congela el programa hasta que ocurre un evento. En la esquina superior izquierda tiene un terminal llamado Event timeout que se usa en el evento por defecto: el timeout. El cdigo del diagrama para el evento timeout se ejecutar cuando pase el nmero de milisegundos indicados en el terminal Event Timeout.
Ejemplo Ejemplo de event Los arrays son conjuntos de datos o elementos del mismo tipo, accesibles mediante los ndices del propio array. En LabVIEW existen arrays unidimensionales, y tambin los bidimensionales. El array es en realidad una tabla de dos dimensiones, donde los elementos guardados en sus casillas son accesibles mediante los ndices de la tabla, conocidos como filas y columnas. Hay dos formas de inicializar los arrays. La primera es utilizando las funciones especficas de inicializacin de arrays, y la otra, mediante las sentencias repetitivas (for, while).
Arrays
Arrays unidimensionales Los arrays unidimensionales son aquellos que tienen una nica fila y C columnas, es decir son arrays de tamao 1xC. Para inicializar un array unidimensional utilizando las funciones de arrays, se ejecuta en el diagrama Functions/Programming/Array/Build Array Ejemplo de array Tipos de array ejemplo ejemplo
Arrays bidimensionales Se trata de arrays de ms de una fila, con lo que se consiguen arrays de F filas y C columnas, es decir arrays FxC. Como se puede deducir, un array de dos dimensiones es ideal para guardar o representar tablas de datos, ya que la tabla tiene la misma organizacin bidimensional de filas y columnas que el array bidimensional. Para crear un array de dos dimensiones, lo que se hace es unir varios arrays de una dimensin en un array mediante otra funcin Build Array. La nica condicin que han de cumplir estos arrays unidimensionales, es que todos ellos tengan el mismo nmero de elementos, es decir, que el mismo nmero de columnas Ejemplo Clusters Los clusters son tipos de datos compuestos por varios elementos de distintos tipos. Esto, suele ser muy prctico para que en el diagrama, aparezcan muchas menos lneas de conexiones y stas estn agrupadas segn un criterio dado. Para aguparlos, se utiliza el objeto Bundle, que se encuentra en Functions/Programming/Cluster, Class & Variants. En cambio, en el lado derecho, tanto del diagrama como del panel, se encuentran los indicadores que permiten visualizar los valores enviados desde los controles antes mencionados. Para ello, se utiliza el objeto Unbundle.
cuya misin es obtener los elementos individuales del grupo que llega a su entrada.
Ejemplo Otra interesante aplicacin de los clusters es la de crear aplicaciones con mens de botones y mquinas de estados. Para crear un men de botones se inserta un objeto cluster desde el panel, desde Controls/Modern/ Array, Matriz & Cluster/Cluster
Ejemplo Modelos de programacin
Conectando con el exterior Una de las formas para conectar con el exterior es utilizando la tarjeta con el microcontrolador Arduino. (Arduino uno). Para esto debemos contar con los VI instalados.
Para iniciar la comunicacin debemos conocer la metodologa de programacin con ARDUINO. Se debe colocar al inicio y fin del programa comandos preestablecidos por ARDUINO y que mostramos a continuacin. En arduino tenemos dos VI para iniciar y terminar los programas De igual forma que ocurre con Lab View, existen una serie de VI, que permiten programar y comunicar entre lab view y Arduino.