Está en la página 1de 65

UTRcc IMI

LabVIEW 2014
(Instrumentación Virtual)

Claudio Ariel Segura Medina Monclova Coah. a Septiembre 2016


I. ¿Que es LabVIEW?

Es un entorno de programación grafico que


puede utilizarse para crear aplicaciones rápida y
eficientemente con interfaces de usuario
profesionalmente.

Es escalable a través de diferentes objetivos y


SO´s. ofreciendo la integración con miles de
dispositivos y facilitando librerías integradas para
análisis avanzados y visualización de datos para
crear instrumentos virtuales que puede
personalizar de acuerdo a sus necesidades
Ya que LabVIEW imita la apariencia y operación
de instrumentos físicos, como osciloscopio y
multímetro, sus programas son llamados
Instrumentos Virtuales o VIs.

Los VIs tienen Panel Frontal y Diagrama de


Bloques.

El Panel Frontal es la interfaz de usuario


El Diagrama de Bloques es el programa detrás
de la interfaz de usuario
A diferencia de lenguajes de programación
basados en texto como C++ y Visual Basic,
LabVIEW usa iconos en vez de líneas de texto
para crear aplicaciones.

Utiliza flujo de datos grafico, donde los datos


fluyen a través de los nodos en el diagrama de
bloques y eso determina el orden de ejecución.

La programación grafica y la ejecución mediante


flujo de datos son las principales diferencias con
otros lenguajes de programación.
Características de LabVIEW:

• Naturaleza grafica y compilada


• Flujo de datos y/o programación basada en
eventos
• Capacidad multi_objetivo y plataforma
• Flexibilidad orientada a objetos
• Posibilidades de multithreading
Cuando inicializa la aplicación de LabVIEW,
aparece la ventana Getting Started, como se
muestra en la figura.
A través de la ventana Getting Started, puede
crear nuevos proyectos y Vis.

La ventana desaparece cuando abre un archivo


existente o crea un archivo nuevo y reaparece
cuando cierra todos los Paneles Frontales y
Diagramas de Bloques abiertos
Creación de un proyecto en LabVIEW

1. Escoja una de las siguientes acciones para crear un


proyecto LabVIEW nuevo
• En la ventana Getting Started haga clic en Blank
Project para abrir un nuevo proyecto o haga clic
en botón Create Project para crear un proyecto
nuevo a partir de una plantilla
• En un proyecto o VI abierto seleccione
File>>Create Project
• En cualquier ventana de LabVIEW, seleccione
File>>New. También puede seleccionar
Project>>Empty Project en el cuadro de dialogo
de New para mostrar la ventana Project Explorer
2. Añada elementos que dese incluir en el proyecto bajo
un destino.

3. Seleccione File>>Save Project para guardar el


proyecto.

Los Vis de LabVIEW contiene tres componentes


principales: la ventana del Panel Frontal, el
Diagrama de Bloques y el Panel de
Iconos / Conectores.
Panel Frontal:
Es la interfaz del usuario para el VI. Puede crearlo con
controles e indicadores, que son las terminales
interactivos de entrada y salida del VI respectivamente. Y
haciendo un clic con botón derecho sobre cualquier parte
del panel aparece la paleta de Control.
Diagrama de Bloques:
La ventana del Diagrama de Bloques contiene el código
fuente grafico, los objetos de panel frontal aparecen
como terminales en este diagrama. Dando un clic con
botón derecho aparece la paleta de Funciones.
Panel de Iconos y Conectores:
Nos muestra como usar y ver un VI en otro VI.
Un VI que se utiliza dentro otro VI se denomina Sub VI.
Para utilizar un VI como Sub VI, debe tener un panel de
iconos y conectores.
El icono está del lado derecho superior del Panel Frontal
y Diagrama de Bloques y el conector está al lado
izquierdo del icono, únicamente en panel Frontal
Paleta de Controles:
Esta contiene los controles e indicadores que utiliza para
crear el Panel Frontal. Se accede a la Paleta de Controles
desde el Panel Fontal seleccionando View>>Control
Palette; La Paleta de Controles se divide en varias
categorías, puede mostrar alguna o todas según sus
necesidades.
Paleta de Funciones:
La paleta de funciones contiene los VIs, funciones y
constantes que utiliza para crear el diagrama de bloques.
Se accede a la paleta de Funciones desde el diagrama de
bloques seleccionando View>>Function Palette; la paleta
de funciones se divide en varias categorías, se pueden
mostrar u ocultar según sus necesidades.
4 1

3 2

1. Terminales de Indicador 2. Cables

3. Nodos 4. Terminales de control


Controles, Indicadores y Constantes:

Los controles , indicadores y constantes actúan como


entradas y salidas del algoritmo del diagrama de
bloques. Consideremos la implementación del
algoritmo para el área de un triangulo:
Área = .5 * Base * Altura
En este algoritmo, base y altura son entradas y área
una salida lo creamos en el Panel Frontal.
El usuario no cambiara ni accederá a la constante .5,
por lo cual no aparecerá en el panel frontal, al menos
que se incluya como documentación. La
implementación del algoritmo quedara en el Diagrama
de Bloques.
Podemos observar que las terminales en el Diagrama
de Bloques Base y Altura tienen un aspecto distinto al
de la terminal Área.

a. El control tiene una flecha en la terminal que indica


la dirección del flujo de datos que salen, mientras que
el indicador tiene una flecha que muestra que los
datos entran.
b. El borde alrededor de la terminal de control es más
grueso, mientras que la terminal del indicador es más
fino.
c. La terminal de control tiene botones para
incrementar / decrementar el valor, mientras que la
terminal del indicador no muestra botón alguno.
En el Diagrama de Bloques podemos tener la vista de
icono o utilizar sin la vista de Icono, seleccionando de
la siguiente manera, ya sea para controles o terminal
de indicador
Nodos del Diagrama de Bloques:
Los nodos son objetos del diagrama de bloques que
tiene entradas o salidas y realizan operaciones cuando
se ejecuta un VI. Son análogos a las instrucciones,
operadores, funciones y subrutinas.

Funciones:
Son los elementos operativos fundamentales de
LabVIEW. No tienen ventanas de panel frontal ni de
diagrama de bloques, pero si paneles de conectores.
Al hacer doble clic en una función solo se selecciona
esta.
SubVIs:
Los subVIs son VIs que se crean para usar dentro otro
VI o a los que accede en la paleta Funciones.

Cualquier VI puede utilizarse como un SubVI. Al hacer


doble clic en un SubVI del diagrama de bloques,
aparece la ventana del panel frontal. El panel frontal
incluye controles e indicadores. El diagrama de bloques
incluye cables , iconos, funciones, posiblemente SubVIs.

Cables:
Con los cables se transfieren datos entre los objetos del
diagrama de bloques.
Cada cable tiene un solo origen de datos, pero puede
cablearlo a numerosos VIs y funciones que leen los
datos
Los cables tienen distintos colores, estilos y grosor en
función de sus tipos de datos
Un cable roto aparece como una línea negra
discontinua con una X roja en medio

Los cables se rompen por varias razones, como al


intentar cablear dos objetos con tipo de datos
incompatibles
Tipo de Cable Escalar Array 1D Array 2D Color

Numérico Naranja (coma


flotante)
Azul (número
entero)

Boleano Verde

Cadena de Rosa
caracteres

Para conectar varias terminales entre si y pasar datos a


un VI. Debemos conectar los cables a las entradas y
salidas que sean compatibles con los datos que se
transfieren con el cable.
Tipos de Datos:

Con los tipos de datos indicamos que objetos,


entradas y salidas pueden cablearse entre sí. Por
ejemplo, si un conmutador tiene un conector o borde
verde, puede cablearse con cualquier entrada con
etiqueta verde en un VI o sí el mando tiene un
conector o borde naranja, puede conectar el mando a
cualquier entrada con etiqueta naranja.

Debemos recordar que los cables tienen el mismo color


que la terminal.
Utilidades de ayuda de LabVIEW:

Utilizando la ventana de “Ayuda de LabVIEW” o


Context Help, nos mostrará la información básica
sobre los diferentes objetos de LabVIEW, cuando se
mueve el cursor sobre cada uno de ellos.

Para obtener la Ayuda, seleccionamos Help “Show


Context Help” ya sea con las teclas <Ctrl+H> o con el
botón Help ubicado en la barra de herramientas.

Cuando movemos el cursor sobre los objetos del Panel


Frontal o del Diagrama de Bloques, la ventana Context
Help mostrará el icono, mostrando su descripción.
Búsqueda de controles, VIs y funciones:

Cuando se selecciona “view controls” o “view functions”


o abrimos directamente las paletas de funciones o
control, aparecen dos botones en la parte superior de
la paleta… “Search” y “Customize”.

Search.- cambia la paleta al modo de búsqueda para


poder realizar búsquedas de texto y encontrar
controles, Vis o funciones en las paletas.
Customize:

Ofrece la opción para seleccionar un formato para la


paleta actual, mostrando u ocultando categorías para
toda la paletas y clasificando elementos de los
formatos Text y Tree alfabéticamente.
Quick Drop:

Parecido al botón de Search, podemos utilizar el


cuadro de dialogo Quick Drop para especificar una
paleta de objetos por nombre.

Para mostrar el cuadro de dialogo del Quick Drop,


presionamos Ctrl+Barra espaciadora o seleccionamos
View>Quick Drop. Escribimos el nombre del objeto que
queremos añadir al diagrama de bloques o panel
frontal.

LabVIEW mostrará los resultados en la lista “Name


Match List”, para adjuntar el objeto lo seleccionamos
con el cursor damos doble clic, quedando “flotando” el
objeto y hacemos clic en el lugar que deseamos
colocarlo en panel frontal o diagrama de bloques.
Selección de Herramienta:

Podemos crear, modificar y depurar VIs utilizando las


herramientas que nos ofrece LabVIEW.

Una herramienta es un modo de funcionamiento


especial del cursor del ratón. El modo de
funcionamiento del cursos se corresponde con el icono
de la herramienta seleccionada.
Herramientas de Operación:

Cuando el cursor del ratón cambia de “flecha” a “mano”


la herramienta de operaciones esta operativa, y es
cuando podemos cambiar los valores de un control.
Herramienta de Posicionamiento:

Cuando el cursor del ratón cambia de “cruz” a “flecha”,


la herramienta de posicionamiento está operativa. Se
utiliza para seleccionar objetos o cambiar su tamaño
Herramienta de Etiquetado:

Cuando el cursor del ratón cambia al icono de “cruz” o


“flecha” a “I”, la herramienta de etiquetado esta
operativa, para escribir texto, en un control, en una
etiqueta o simplemente modificar un texto.

Herramienta de Cableado:

Esto solamente sucede cuando esta activo el


“Diagrama de Block”. Y es cuando el cursor del ratón
cambia al icono de “cruz” o “flecha” a “carrete”, la
herramienta de cableado esta operativa. Esta nos sirve
para cablear objetos entre sí, dando un clic derecho
(sosteniéndolo) en el nodo de salida, arrastrar hasta el
nodo de entrada destino y soltar el clic.
Creación de un VI simple:

La mayoría de los VIs, desempeñan tres tareas


principales; adquirir ciertos tipos de datos, analizar los
datos adquiridos y presentar el resultado. Cada una de
estas partes es simple y se puede completar todo el VI
con muy pocos objetos en el diagrama de bloques.

Realicemos un VI:
1. Seleccionamos la aplicación “LabVIEW 2014” y nos
mostrará el “Getting Started” o lanzador de
proyectos.
2. Seleccionamos la opción “Blank VI”
3. Seleccionamos Panel Frontal y tecleamos “Ctrl + T”,
para que nos muestre en el escritorio de la PC
ambas áreas de trabajo.
4. Abrimos la Paleta de control y seleccionamos
“Wavefrom Graph” de la categoría Silver, lo
arrastramos y lo colocamos en Panel Frontal y
editamos las señales en sus propiedades.
5. En el Diagrama de Bloques damos clic derecho y en
la paleta de funciones seleccionamos en la categoría
Express >>Input>>Simulate Signal, y lo arrastramos
al diagrama de bloques. Hacemos lo mismo para el
filtro: Express>>Signal Analysis>>Filter y para la
unión de ambas señales: Express>>Sig
Meaip>>Merge Signals, lo arrastramos y lo
colocamos en diagrama de bloques.
6. Realizamos la conexión con la herramienta de
cableado, verificando que no exista error, y lo
muestre en icono de “Run” en la barra de
herramientas.
II. Resolución de Problemas y depuración de Vis:

Para ejecutar un VI, deben estar cableados todos los


nodos, funciones, estructuras, SubVIs, con los tipos de
datos correctos para las terminales.
Si un VI no se ejecuta entonces es un VI “roto” o no
ejecutable. El botón Run aparece roto cuando el VI
que esta creando o modificando contiene errores.

Para estos casos hacemos clic en el botón Run roto o


seleccionamos View>>Error List para averiguar el por
que se ha roto un VI.
La ventana Error List nos muestra cada uno de los
errores.
En la sección “Item with errors” muestra los nombres
de todos los elementos en memoria, como librerías y
VIs que contienen errores
La sección “Errors and warnings” muestra los errores y
advertencias del VI seleccionado en la ventana “Item
with errors”.
La sección “Detail” describe los errores y en algunos
casos recomienda como corregirlos.
Haciendo clic en “Show Error” resaltará la zona del
diagrama de bloques o panel frontal que contenga el
error.
Resaltado de Ejecución:

El resaltado de la ejecución muestra el movimiento de


datos en el diagrama de bloques desde un nodo a otro
utilizando las burbujas que se mueven a lo largo de los
cables.

Use el resaltado de la ejecución junto con la ejecución


paso a paso para ver como se mueven los valores de datos
de nodo a nodo a través de un VI.
Ejecución Paso a Paso:

Ejecute paso a paso un VI para ver cada uno de sus


acciones en el diagrama de bloques mientras se ejecuta
el VI. Los botones de ejecución paso a paso, son los
mostrados en la figura ubicados a la derecha del botón
de resaltado, afectan a la ejecución solo en un VI o
SubVI en el modo de ejecución paso a paso.

Haciendo clic en Step Into o Step Over en la barra de


herramientas y moviendo el cursor sobre los nodos que
parpadean nos dará información sobre la ejecución.
Datos sin Definir o Inesperados:

Los datos sin definir , que son NaN (no un numero) o


Inf (infinito), invalidan todas las operaciones
siguientes. Las operaciones de coma flotante
devuelven los dos siguientes valores simbólicos que
indican cálculos imperfectos o resultados sin sentido.

NaN representa un valor de coma flotante que


produce las operaciones no validas, como obtener la
raíz cuadrada de un numero negativo.

Inf representa un valor de coma flotante que


producen las operaciones no validas, como dividir un
numero entre cero.
Gestión de Errores:

Este es un mecanismo para anticipar, detectar y


resolver advertencias y errores. La gestión de errores
es un componente esencial en el desarrollo de
aplicaciones.

Con la gestión de errores rápidamente localizamos la


fuente de errores de programación. Sin ella, se podría
observar un comportamiento inesperado pero
necesitaríamos un mayor esfuerzo para localizar el
origen del problema.

LabVIEW controla automáticamente cualquier error


cuando un VI se ejecuta, suspendiendo la ejecución
resaltando donde este ocurrió.
Para desactivar la gestión automática para el VI actual,
seleccionamos File>>VI Properties >>Execution
en el menú Category.

Para desactivar la gestión de errores automática de


cualquier VI que cree, seleccionamos
Tools>>Options y Block Diagram de Category

Para desactivar la gestión de errores automática de un


SubVI o función de un VI, cableamos su parámetro
error out al parámetro error in de otro SubVI o
función o a un indicador error out.
En LabVIEW podemos tomar el control de errores en el
diagrama de bloques del VI usando los siguientes
métodos:

Usando el gestor de errores y las funciones de la


paleta Dialog & User Interface para notificar a los
usuarios.

Usando clusters de errores y los parámetros error in y


error out de la mayoría de los Vis y funciones para
manejar errores.
Clústers de Error:

Los VIs y las funciones producen errores de uno de


dos modos: con códigos de error numéricos o con
clústers de error. Normalmente las funciones utilizan
errores numéricos y los VIs usan clústers de error
habitualmente con entradas y salidas de error.

Los clústers error in y error out incluyen los siguientes


componentes de información.

• status es un valor booleano que produce TRUE si


ocurrió un error.

• code es un numero entero con signo de 32 bits que


identifica el error numéricamente.
• source es una cadena de caracteres que identifican
donde ocurrió el error.

Un error esta definido como un clúster de error con un


valor de status TRUE, sin importar el valor del código.

Si se detecta un error, el nodo pasa el error al


siguiente nodo sin ejecutar esa parte del código.

Una advertencia esta definida como un clúster con un


valor code diferente de cero y un valor de status
FALSE.

A diferencia de cuando ocurre un error, los nodos se


ejecutan con normalidad incluso cuando se detecta
una advertencia.
Cuadro de Dialogo Explain Error:

Cuando ocurre un error, haga clic con el botón derecho


en el borde del clúster y seleccione Explain Error del
menú contextual para abrir el cuadro de dialogo de
Explain Error que contiene información sobre el error.

El menú incluye una opción Explain Warning si el VI


contiene advertencias y no errores.

La gestión de errores en LabVIEW sigue el modelo de


flujo de datos. Al igual que los valores de datos fluyen
por un VI
III.- Implementación de un VI:

En la fase de diseño del método de desarrollo de


software se identifican las entradas y las salidas del
problema. Esta identificación conduce directamente al
diseño del Panel Frontal.

Las entradas para el diseño pueden venir de:


•Adquiriendo desde un dispositivo de adquisición de
datos.
•Leyendo directamente desde un archivo.
•Manipulando controles en el panel frontal.
Se puede mostrar las entradas del problema con
controles numéricos, booleanos o cadenas de
caracteres. Pero no todas las entradas aparecen en el
panel frontal.

Podrá ver las salidas del problema con indicadores


gráficos, LEDs o registrar salidas en archivos. También
se puede extraer datos de un dispositivo con
generación de señal.

Al elegir controles o indicadores asegurémonos de que


sean las apropiadas para la tarea que se desee realizar.
Etiquetemos con claridad los controles e indicadores,
estas etiquetas nos ayudaran y a los usuarios a
identificar el objetivo de cada control e identificador.

Además nos ayudara a documentar el código del


diagrama de bloques.

Podemos configurar valores predeterminados para los


controles

Completando la configuración en la siguiente figura


tendremos:
•Creamos el control numérico y escriba el valor
deseado
• Damos clic derecho cuando este activa la herramienta
de posicionamiento
•Seleccionamos Data Operations>>Make Currrent
Value Default del menú contextual.
Menús Contextuales:

Todos los objetos de LabVIEW tienen asociados menús


contextuales, conocidos también como menús
abreviados, menús emergentes y menús de botón
derecho.

Para acceder al menú contextual, haga clic con el botón


derecho en el objeto cuando este la herramienta de
posicionamiento.
Cuadro de Dialogo de Propiedades:

Los objetos también tienen cuadros de dialogo de


propiedades que se pueden utilizar par cambiar el
aspecto o el comportamiento de los objetos.
Tipos de Datos Numéricos:

El tipo de dato numérico representa números de varias


clases. Para cambiar el tipo de representación de un
numero, hacemos clic botón derecho en el control,
indicador o constante y seleccionamos
Representation.
Cuando se cablea dos o más entradas numéricas de
distintas representaciones a una función, esta
normalmente devuelve los datos en la representación
mas grande o amplia.

LabVIEW coloca un punto de coerción en la terminal


donde la conversión toma lugar.

El tipo de dato numérico incluye : números en coma


flotante, números enteros con signo, números enteros
sin signo y números complejos.
Números en coma flotante:
Representan números fraccionales y son representados
en color naranja.

Precisión simple (SGL); estos tienen un formato de


precisión simple de 32 bits. Utilice este formato cuando
el ahorro de memoria es importante y no sobrecargara
el rango de los números.

Doble precisión (DBL); estos tienen un formato de


precisión doble de 64 bits. Es el formato
predeterminado para objetos numéricos .

Precisión extendida (EXT); cuando guarda este tipo de


números, LabVIEW los almacena en una plataforma
independiente con formato de 128 bit.
Tipos de dato de Punto Fijo:

Este tipo de datos es numérico y representa un


conjunto de números racionales que utilizan dígitos
binarios o bits. A diferencia de los datos de coma
flotante, que permite que varié el numero total de bits
que se usa, para representar números; puede
configurar los números de punto fijo para que usen un
número concreto de bits.

Use este tipo de datos cuando no necesite la


funcionalidad dinámica de la representación de coma
flotante o cuando dese trabajar con un destino que no
admita la aritmética de coma flotante.
Números Enteros:

Los números enteros representan los números


naturales. Los números enteros con signo pueden ser
positivos o negativos.

Use los tipos de datos de números enteros sin signo,


cuando sepa que el número entero es siempre positivo.

Los números enteros se representan con el color azul.


Valores Booleanos:

LabVIEW almacena datos booleanos como valores de


8 bits. Si el valor de 8 bits es cero, el valor booleano
es FALSE. Cualquier valor que no sea cero
representará TRUE.

El color verde representa datos booleanos.

Los datos booleanos también tienen una acción


mecánica asociada. Las dos acciones principales son
bloquear y conmutar.

Se puede seleccionar uno de los siguientes


comportamientos.
Switch when pressed:
Acción mecánica booleana
Cambia el valor del control
cada vez que hace clic en el,
con la herramienta de
operaciones. La frecuencia
con la que el VI lee el control
no afecta a este
comportamiento.

Switch when released:


Cambia el valor del control sol
después de soltar el botón del
ratón mientras hace clic
dentro del limite grafico del
control.
Swutch until released:
Cambia el valor del control cuando hace clic en el y
conserva el nuevo valor hasta que suelte el botón del
ratón. En este momento, el control vuelve a su valor
predeterminado, al igual que el funcionamiento del
timbre de una puerta.

Latch when pressed:


Cambia el valor de control cuando hace clic en el y
conserva el nuevo valor hasta que el VI lo lea una vez.
En ese momento, el control vuelve a su valor
predeterminado, aunque siga pulsando el botón del
ratón. Este comportamiento es útil para detener un
bucle while o para que el VI realice una acción solo
una vez cada vez que ajuste el control.
Latch when released:
Cambia el valor del control solo después de soltar el
botón del ratón dentro el limite grafico del control.
Cuando un VI lo lee una vez, el control vuelve a su
valor predeterminado. Este comportamiento funciona
del ismo modo que los botones de los cuadros de
dialogo y del sistema.

Latch until released:


Cambia el valor del control cuando hace clic en el y
conserva el valor hasta que el VI lo lea una vez o
suelte el botón del ratón, en función de lo que ocurra
en ultimo lugar.
Cadena de Caracteres:

Una cadena de caracteres es una secuencia de


caracteres ASCII visualizables y no visualizables.
La cadena de caracteres tiene un formato independiente
de las plataformas para la información y los datos.
Algunas de las aplicaciones más comunes:

•Generación de mensajes de textos simples.

•Control de instrumentos enviando comandos de


texto al instrumento y devolviendo valores de datos
en forma de cadena de caracteres ASCII o binarias
que después convierte en valores numéricos.
•Almacenamiento de datos numéricos en disco. Para
almacenar datos numéricos en un fichero ASCII,
primero se debe convertir los datos numéricos en
cadenas antes de escribir los datos en un fichero del
disco.

•Petición o visualización de datos con cuadro de


diálogos.

En el panel frontal aparecen como tablas, cuadros de


entrada de texto y etiquetas.

Las cadenas de caracteres se representan en color


rosa.
Enums:

Un enum (indicador, constante o control enumerado) es


una combinación de tipos de datos. Un enum
representa una pareja de valores, una cadena de
caracteres y un numérico, donde el enum puede ser
uno de una lista de valores
Dinámicos:

También podría gustarte