Está en la página 1de 11

INTRODUCCIÓN

LABVIEW
LabVIEW es un lenguaje y a la vez un entorno de programación grafica en el
que se pueden crear aplicaciones de una forma rápida y sencilla.
LabVIEW es un lenguaje de programación de alto nivel, de tipo gráfico,
inicialmente enfocado a la realización de aplicaciones para el control de
instrumentación.
Originalmente este programa estaba orientado a aplicaciones de control de
instrumentos electrónicos usadas en el desarrollo de sistemas de
instrumentación, lo que se conoce como instrumentación virtual. Los
programas creados en LabVIEW se guardan en ficheros llamados VI y con la
misma extensión, que significa instrumento virtual (Virtual Instruments).
INSTRUMENTOS VIRTUALES (VIS)
Un instrumento virtual o Virtual Instrument (VI), es un módulo software que
simula el panel frontal de un instrumento real de medición de variables físicas
y apoyándose en elementos hardware accesibles por el ordenador (tarjetas de
adquisición de datos, instrumentos accesibles vía USB, GPIB, RS-232, RS-485,
etc.) realiza una serie de medidas como si se tratase de un instrumento real. Es
así que cuando se ejecuta un programa que funciona como instrumento virtual
o VI (Virtual Instrument), el usuario ve en la pantalla de su ordenador un panel
cuya función es idéntica a la de un instrumento físico, facilitando la
visualización y el control. A partir de los datos reflejados en el panel frontal el
VI debe de actuar recogiendo o generando señales como lo haría su homologo
físico.
Los programas de LabVIEW son llamados Instrumentos Virtuales (VIS). Los VIS
tienen tres partes principales:
 Panel Frontal donde se encuentra la parte externa ó interfaz hombre
maquina (HMI) del programa.
 Diagrama de Bloques donde está la parte lógica o código fuente del
programa.
 Icono/Conector que es como la huella digital que identifica al programa.

Figura 1. Panel Frontal y Diagrama de Bloques


El panel Frontal y el diagrama de bloques están constituidos por una colección
de objetos gráficos que son los elementos programables de LabVIEW. El panel
frontal contiene varios tipos de controles e indicadores que facilitan la
visualización de resultados y el reconocimiento rápido de los componentes del
VI, pueden usarse una serie de herramientas prediseñadas así como también
se puede diseñar o crear indicadores propios dentro de algunas opciones un
poco más avanzadas de acuerdo a la naturaleza de la aplicación del
instrumento virtual, una aplicación puede ser el diseño alarmas con leds
animados con diseño grafico en 2D y 3D desde programas como Corel Draw,
AutoCad, etc, a los cuales además se les puede adicionar archivos de audio con
el objeto de hacer mas interactiva la aplicación.

Figura 2. Partes de un VI

CONTROLES
El menú que aparece en el Panel Frontal es el menú de controles, en el que se
pueden seleccionar los terminales que servirán para interactuar con el usuario.
Los terminales se dividen en controles e indicadores, aunque a veces se les
suele llamar a todos genéricamente controles. Los controles propiamente
dichos son las entradas de datos y los indicadores son las salidas, están
clasificados según su estilo en varios submenús, de cada submenú hay otros
menus que clasifican los controles por el tipo de datos.
Figura 3. Paleta de Controles

FUNCIONES
Esta paleta es la que se muestra al trabajar sobre el Diagrama de Bloques, en
ella se puede acceder a diferentes funciones, subVIs y estructuras disponibles.
Las funciones mas utilizadas son las que se encuentran dentro de
Programming, Structures. Contiene elementos que son equivalentes a las
instrucciones de control de los lenguajes convencionales como son los bucles
como While, for, case, etc.
Figura 4. Paleta de Funciones

ATAJOS DE TECLADO MAS ÚTILES


Tabla 1. Atajos de Teclado

Combinación de Teclas Función


CTRL + R Ejecuta el programa
CTRL + . Aborta la ejecución
CTRL + T Visualiza el panel frontal y el
diagrama de bloques
CTRL + E Conmuta entre las dos ventanas
principales
CTRL + B Elimina los hilos rotos
CTRL + H Muestra o ayuda la ayuda contextual
CTRL + ? Muestra la ayuda
CTRL + C Copia los objetos seleccionados
CTRL + X Corta los objetos seleccionados
CTRL + V Pega los objetos seleccionados
CTRL + Z Deshace la ultima accion
CTRL + SHIFT + Z Rehacer
CTRL + S Guarda el VI
TAB Cambia entre las herramientas de la
paleta de herramientas

TIPOS DE DATOS EN LABVIEW


LabVIEW ofrece una gran variedad de tipos de datos con los que se puede
trabajar respondiendo a las necesidades reales que se puedan presentar, uno
de los aspectos más significativos de LabVIEW es la diferencia que efectúa en
el diagrama de bloques entre los diferentes tipos de controles o indicadores.
Booleano
Los tipos de datos booleanos son enteros de 16 bits. El bit más significativo
contiene el valor booleano. Si el bit 15 se pone a 1, entonces el valor el control
o indicador es true (verdadero), por el contrario, si este bit 15 vale 0, el valor
de la variable booleana será false (falso).
Numérico
Hay de diferentes tipos:
Extended. - Según el modelo del ordenador que se esté utilizando los números
de coma flotante presentan el siguiente formato:
 Macintosh: 96 bits (formato presición extendida MC68881-MC68882)
 Windows: 80 bits (formato presición extendida 80287)
 Sun: Formato 128 bits
 HP-UX: son almacenados como números en coma flotante e doble
presición.
Double. - Los números en coma flotante de doble presición cumplen con el
formato de doble presición IEEE de 64 bits. Es el valor por defecto de LabVIEW.
Single. - Los números en coma flotante de presición simple cumplen con el
formato de presición simple IEEE de 32 bits.
Quad Integer. - Los números enteros largos tienen con un formato de 64 bits,
con o sin signo.
Long Integer. - Los números enteros largos tienen un formato de 32 bits, con o
sin signo.
Word Integer. - Estos números tienen un formato de 16 bits, con o sin signo.
String
Corresponden a una cadena de caracteres letras o números (bytes) leidos en
formato de texto, LabVIEW almacena los strings como si fueran un array
unidimensional de bytes enteros (caracteres de 8 bits).
ESTRUCTURAS
Las instrucciones de control permiten a un programa ejecutar un código de
forma condicional o repetirlo cierto número de veces. En LabVIEW estas
instrucciones son estructuras que encierran en su interior el código al que
afectan.
Figura 5. Estructuras

TIME LOOP
Su funcionamiento consiste en repetir el código de su interior con unas
determinadas especificaciones de tiempo o hasta que se cumpla cierta
condición, por todo ello es muy usado en aplicaciones de tiempo real.
Una estructura temporizada (Timed Loop) es una función ciclada que se
ejecuta cuando la fuente configurada de temporización tiene un evento. Una
estructura temporizada necesita desarrollar aplicaciones que requieran
múltiples tasas de procesamiento, temporización y sincronización precisa,
retroalimentación sobre la ejecución del ciclo, características de temporización
que cambian de forma dinámica ó diferentes niveles de prioridad de ejecución.
En conjunto con las características de temporización precisa de las estructuras
temporizadas, esta estructura puede ser aprovechada para asignar
procesadores en programación multi-núcleo. Con la estructura temporizada se
puede especificar una variedad de atributos de temporización incluyendo el
periodo, prioridad, límites de tiempo, compensaciones y tiempos de espera.
Con la combinación de estos atributos y el amplio rango de fuentes de
temporización, se puede crear aplicaciones sofisticadas sin importar las
necesidades de sincronización.
Consta de nodos tales como:
Input. Permite configurar el funcionamiento del bucle por medio de un
asistente o cableando los datos. Este nodo puede extenderse para cablear mas
datos de los mostrados.
Left Data. Proporciona información sobre la iteración anterior, por ejemplo el
tiempo que ha tardado (Iteration Duration), si le ha dado tiempo a acabar la
tarea antes de que empiece una nueva ejecución (Finished Late? [i-1]).
Right Data. Se trata de una configuración dinámica, permite modificar los
parámetros de configuración de la estructura para la siguiente iteración. Los
parámetros son prácticamente los mismos que en el Input Node, excepto el
nombre del bucle y el origen del reloj.
Output. Al igual que el Left Data Node, el Output Node proporciona
información, pero en este caso la información se genera después de que el
bucle se haya detenido.
Figura 6. Estructura TIMED LOOP

La configuración puede realizarse cableando los valores adecuados en el Input


Node o mediante los parámetros que aparecen en el primer y tercer nodo.
Se puede configurar las opciones de configuración del bucle temporizado
conectando valores a las entradas del nodo de entrada, o puede usar el cuadro
de diálogo de Configuración de bucle para ingresar valores para las opciones.
Por defecto, las entradas del nodo de entrada aparecen como iconos con los
valores que especificó en el cuadro de diálogo de Configuración de bucle.

Figura 7. Ventana de Configuracion del TIMED LOOP

Timing Source es la fuente de reloj, cuando el programa se ejecute, la fuente


será un reloj de 1 KHz del sistema operativo, si la ejecución se realiza en otros
dispositivos puede haber otras fuentes disponibles. Para seleccionar la fuente
desde el programa puede usarse el VI Create Timming Source.
El periodo será el tiempo que pase entre el comienzo de dos iteraciones y el
offset el tiempo que el bucle espera antes de empezar la primera ejecución.
Deadline es el tiempo máximo con que cuenta el bucle para ejecutar el código
en su interior, en caso de que la ejecución lleve mas tiempo se avisara con
Finished Late? [i-1]. Los modos de Action on Late Iterations configuran la forma
en que el bucle responde cuando la ejecución lleva mas tiempo del
especificado, las opciones son autoexplicativas, básicamente sirven para
alinear el comienzo de las ejecuciones y saltar iteraciones.
Cuando dos o mas bucles vayan a empezar su ejecución en un instante
determinado, la prioridad de cada bucle determinara el orden, en caso de que
haya varios con el mismo nivel de prioridad, el orden será por el de menor
tiempo invertido en la ejecución.
EJERCICIO
Mostrar números aleatorios en un determinado número de veces.
Resolucion:
Se muestran diversos números en un determinado número de veces, el valor
inicial es de una escala del 0 – 1 (Random Namber), de los cuales hemos
multiplicado por una constante para obtener valores enteros de 2 dígitos, y
para eso debemos obtener la parte entera utilizando un Round To Nearest,
usamos un termómetro como ilustración grafica de que el ejercicio se esta
ejecutando.

Figura 8. Ejercicio con TIMED LOOP

Para visualizar un número determinado de veces, utilizaremos un Case


poniendo una condición 10 en nuestro caso, es decir, la variable i es el número
de veces que se ha estado ejecutando el programa y que también será
mostrado, como nuestra condición es de 10 al mostrarse 10 valores,
tendríamos una respuesta verdadera, la cual está unida al Case y al Stop del
programa para que se pueda detener

Figura 9. Visualización Panel Frontal

TIMED SEQUENCE
La principal diferencia del Sequence es que en este caso no se repite la
ejecución de los sub diagramas, por lo tanto no se podrá especificar un
periodo, pero aun así si se puede tener otras características temporales como
offset, deadline, etc.
Una estructura de secuencia cronometrada consta de uno o más
subdiagramas, o cuadros, cronometrados por una fuente de temporización
interna o externa que se ejecuta secuencialmente. Una estructura de
secuencia temporizada ejecuta cada cuadro solo una vez y, a diferencia de un
bucle temporizado, no repite las iteraciones. Usa la estructura de secuencia
cronometrada cuando desee desarrollar VI que se ejecuten solo una vez con
temporización precisa, retroalimentación de ejecución, características de
temporización que cambian dinámicamente o varios niveles de prioridad de
ejecución.

Figura 10. Estructura TIMED SEQUENCE


La estructura de secuencia temporizada incluye los nodos de entrada y de
salida, nodos de datos izquierdo y derecho para cada cuadro. Por defecto, los
nodos de la estructura de secuencia temporizada no muestran todos los
terminales de entrada y salida disponibles. Puede cambiar el tamaño de los
nodos o usar el menú contextual para mostrar terminales de nodo.
En el nodo de entrada para mostrar el cuadro de diálogo Configurar la
secuencia cronometrada, donde puede configurar la estructura de secuencia
cronometrada. Los valores que ingrese en el cuadro de diálogo Configurar
secuencia cronometrada aparecen como opciones en el nodo de entrada.
EJERCICIO

Figura 11. Ejercicio con TIMED SEQUENCE

Como el Timed Sequence carece de un periodo, solo nos mostraría un solo


valor.

Figura 12. Visualización del Panel Frontal

Así comprobaríamos la principal diferencia de un Timed Loop y un Timed


Sequence.
Bibliografía
Laime, L. (2018). Manual de Programacion Labview 9.0.

National Instrument. (Marzo de 2004).

National Instruments. (2019). Obtenido de https://www.ni.com/es-cr/innovations/white-


papers/10/timing-and-synchronization-in-ni-labview.html

Vizcaino, J. R. (2007). LAbview Entorno grafico de programacion. Mexico.

También podría gustarte