Está en la página 1de 25

LABORATORIO Nº2

LabVIEW (Laoratory Virtual InstrumentEngineeringWorkbench) es un sistema de desarrollo basado


en programación gráfica, orientado a desarrollar aplicaciones para instrumentación, el cual integra
una serie de librerías para comunicación con instrumentos electrónicos como GPIB, RS232 o
RS485 con tarjetas de adquisición de datos, con sistemas de acondicionamiento como VXI o SCXI,
comunicaciones en redes TCP/IP, UP, o en los estándares de software .COM, .OLE, .DDE, .DDL o
ActiveX para Windows, así como AppleEvents para MacOS o PIPE para UNIX.

Los programas utilizados en LabVIEW se llaman instrumentos virtuales “VIs”, ya que tienen la
apariencia de los instrumentos reales, sin embargo, poseen analogías con funciones provenientes
de lenguajes de programación convenientes.

Los VIs se compones de:

Panel frontal: Interfase gráfica que simula el panel de un instrumento real, el cual permite
entrada y salida de datos, incluye; perillas, pulsadores, botones, gráficos, controles
e indicadores.

Figura 6.1 panel frontal de LabVIEW

Diagrama de Bloques: Contiene el código fuente gráfico de VI, posee funciones y


estructuras que relacionan las entradas con las salidas creadas en el panel frontal.
Figura 6.2 diagrama de bloques de LabVIEW

Herramientas: Contienen las herramientas necesarias para editar y depurar los objetivos
tanto del panel frontal como del diagrama de bloques. Tools Palette, ControlsPalette,
Functionespalette:

Para activar cualquiera de estas herramientas se debe hacer clic sobre Windows en la barra superior
oprima Show Tools Palette o la que necesite:

Figura 6.3 paleta de herramientas

Paleta de Herramientas (Tools Palette):

Asigna valores a los controles del panel frontal, se encuentra disponible


cuando se corre y edita la aplicación. Cuando edita objeto basados en texto o números,
cambia el icono del puntero por le que se muestra.

Selecciona, mueve y redimensiona objetos. La herramienta cambia el


icono del puntero cuando pasa por encima de objetos que pueden modificar su tamaño.
Crea y edita textos tanto en el panel frontal como en el diagrama de
bloques.

Utilizado para generar la estructura lógica de eventos mediante la


conexión de los terminales de cada objeto. Los cables determinan el flujo de los datos.

Permite tener el menú de opciones de un objeto. Esta misma función se


puede realizar haciendo un clic derecho del ratón sobre el objeto.

Mueve todos los objetos dentro de la ventana activa.

Detiene la ejecución del programa en el punto del diagrama donde se


coloque. Se utiliza con fines de depuración.

Se coloca sobre algún conductor o hilo de conexión para verificar de forma


temporal el valor que fluye a través de este

Obtiene el color del objeto que se señale.

Cambia los colores de objetos y de fondos.


Figura 6.4 Paleta de controles

Paleta de controles (Palette Controls):

Se utiliza únicamente en el panel frontal y contiene los objetos necesarios para crear
una interfase de entrada y salida de datos (controles e indicadores).

Presionando el icono representativo por la figura, allí se encontrarán varios y se


obtendrá el control deseado haciendo clic sobre este

“Numeric” Controles e indicadores Numéricos como: Dispositivos de medida


(metros) digitales o análogos.

“Boolean” Controles e indicadores Booleanos, simplemente swiches o


interruptores.

“String y Path” Controles e indicadores de cadenas y caminos

“Array y Cluster” manejo de Arreglos

“List y Table” manejo de listas y tablas.

“Graph” Graficas, normalmente las que saca el osciloscopio o gráficas en tercera


dimensión, muy utilizada en Instrumentación.

“Ring y Enum”

“I/O” entradas y salidas, puede incluir tarjetas o puertos.


“Refnum” hace referencias numéricas.

“DialogControls” realiza controles de dialogo.

“ClassicControls” Controles clásicos

“Activex” (Contenedor, Variantes y automatización de referencias)

“Decorations” Decoraciones, muy utilizado para decorar el Panel Frontal, como


la superficies en altorrelieve o contornos.

“Select a Controls” Selector de Controles, Se realiza por pasos.

“UserControls” Controles nuevos o implementados por el usuario


Figura 6.5 paleta de funciones

Paleta de funciones (PaletteFunctions).

El segundo icono muestra “Numerics”: Suma, resta, multiplica , divide, Incremento, decremento,
sumatoria, multiplicatoria, valor absoluto, redondeo próximo, redondeo a –infinito, redondeo a
+infinito, Raíz cuadrada, signa negativo, escala en potencias de 2, signado, Componentes
aritméticas, randum (aleatorio), recíproco, convertidores, funciones trigonométricas, funciones
logarítmicas, funciones complejas, constantes, cantantes numéricas adicionales.

El tercer icono muestra “Booleans” Compuertas lógicas; And, Nand, Or, Nor, Or exclusivo, Nor
Exclusivo, Yes, Not, Componentes aritméticos, And de arreglo de elementos, Or de arreglo de
elementos,

Detalles y herramientas empleados en el proyecto QTc (Anexo)

BuildArray

Concatena múltiples conjuntos o agrega elementos a un conjunto de n


dimensiones. También se puede reemplazar la función de un Subconjunto al modificar un
conjunto existente.

Figura 6.6 BuildArray

IndexArray
Retorna los elementos o subconjuntos de un conjunto de n-dimensiones a una lista.
Cuando se alambra un conjunto a esta función, la función se dimensiona
automáticamente. Se pueden anexar adicionalmente elementos o subconjuntos terminales
redimensionando la función.

Figura 6.7 Index Array

Delete From Array

Borrar un elemento del subconjunto para un conjunto de n-dimensiones y retorna el


conjunto editado en array w/ subsetdeleted y el elemento borrado o subconjunto en una
porción Borrada.

Figura 6.7 Delete From Array

Array Subset

Retorna una porción del comienzo del arreglo empieza indexarlo contiendo la longitud de del arreglo.

Figura 6.8 ArraySubset

Buildwaveform
Waveform: es la forma de onda que se desea editar. Si se desea alambrar una forma de
onda existente, construir una forma de onda, crear a nueva forma de onda sobre los
componentes alambrados.

Figura 6.9 Build waveform

Select item:

t0: es el tiempo de arrranque de la forma de onda.

Dt:es el intervalo de tiempo, o duración, entre la forma de onda y los datos.

Y: contiene el valor de los datos de la forma de onda.

waveformes el resultado de la forma de onda. Si se desea alambrar una forma de onda


existente, construir una forma de onda, crear a nueva forma de onda sobre los componentes
alambrados.

GraphingWaveform Data

Realiza el desarrollo por pasos, los datos en forma de onda en una serie de puntos mostrados
en waveformgraph.
Figura 6.10 GraphingWaveform data

Ubica la forma de onda sobre el panel forntal.

Construye un diagrama de bloques con el objeto desarrollado

 función División.
 Función Seno.

GetWaveformComponents

Retorna los componentes de la forma de la onda (señal) que se especifiquen. Se pueden


especificar los componentes hacienda click derecho y seleccionando AddElement y creando un
indicador.

Figura 6.11 Get Waveform Componentes

Wavelet Transform Daubechies4

Ejecuta la transformada Wavelet Daubechies4 sobre la función


Figura 6.12 Waveform Transform Daubechies4

Wavelet Transform Daubechies4 Inverse

Ejecuta la inversa de la transformada base Wavelet Daubechies4 sobre la función

Figura 6.13 Waveform Transform Daubechies4 Inverse

Waveform Peak Detection

Encuentra la localización, amplitud, y segunda derivada de picos y valles en la señal de


entrada. Se puede utilizar este VI poliformico para encontrar picos y valles en una
waveform o un array of waveforms. Este tipo de datos que se alambra a la señal entrante,
entradeterminando la instancia del polifórmico a usar. Este VI es similar al detector de
picos (Peak Detector).

Figura 6.14 Waveform Peak Detection


For Loop

Ejecuta estos subdiagramas n veces, cuando n es el valor alambrado al conteo (N) terminal.
El terminal de iteraciones (i), brinda el conteo iterativo cíclico, el cual tiene un rango desde
0 hasta n-1. A este se le pueden inyectar ShifRegister es una conexión entre el mundo
interior y el exterior.

Figura 6.15 ForLoop

WhileLoop

Ejecuta estos subdiagramas hasta la condición terminal, recibe un valor Booleano


particular. El valor Booleano depende de la continuación del comportamiento del
WhileLoop. Click derecho el condicionamiento del terminal y seleccione Stop si es
Verdad o Continúe es verdad para el menú corto.

Figura 6.16 WhileLoop

Case Structure

Tiene uno o más subdiagramas, o casos, exactamente uno de los cuales se ejecuta cuando la
estructura se está ejecutando. El valor alambrado al selector terminal determina cual caso se va a
ejecutar y cual caso puede ser Booleano, string, integer, o tipo de enumeración. El clic derecho al
borde de la estructura adiciona o borra casos. El Labelingtool se usa para entrar valores en el
caso del rótulo selector de casos y configuración, los valores escogen para cada caso.

Figura 6.17 Case Structure

Wait Until Next ms Multiple.

Espera hasta el valor de los milisegundos, multiplicando por millisecondmultipleespecificado. Se


usa esta función para actividades de sincronización. Se puede utilizar esta función en un loop de
control:

Figura 6.18 WaitUntil

Mean

Computa el mean (significado) de los valores de la secuencia de entrada X.

Figura 6.19 Mean


Operaciones Numéricas Realiza operaciones numéricas.

Figura 6.20 Operaciones numéricas

Peak Detector (detector de picos)

Detector de Picos: Encuentra la localización, amplitud y segundas derivadas de picos o


valles en los arreglos de entrada.

Figura 6.21 Peak Detector

“X es la entradaque contiene el dato a ser procesado. El dato puede ser un arreglo individual o un
bloque de datos. Los bloques de datos consecutivos son útiles para arreglos largos de datos o para
procesos en tiempo real. Avisa que en procesamiento de tiempo real, no son detectados los
picos/valles hasta aproximadamente Ancho/2 puntos de un dato pasado el pico o valle”.

Threshold (límite) rechaza picos y valles muy pequeños. Para picos, el VI ignora cualquier pico
encontrado con una medida de amplitud que sea menor al límite. El VI ignora valles si la medida de
la hondonada en mayor que el límite.

width especifica el número de data points consecutivos a usar en los mínimos cuadrados
cuadráticos ajustados. width está ajustado al valor mayor o igual a 3. El valor podría ser no
más de un cuarto del ancho de los picos/valles y podría ser mucho más grande (pero >2) para un
dato libre de picos.

peaks/valleys: especifica si los VI son vistos como picos (positive-goingbumps) o valles (negative-
goingbumps). La asignación para este control es 0 (picos) y 1 (valles).

initialize, cuando está en TRUE, especifica el procesamiento del primer bloque de datos. El VI
requiere alguna asignación interna al comenzar la propia operación. Si se desea únicamente el
proceso de un bloque de datos, autoriza y empieza a desalambrar, o asigna por defecto el estado a
TRUE. Si se desea el proceso consecutivo de los bloques de datos, se inicializa en TRUE para el
primer bloque y falso para todos los otros bloques de datos.

end of data, cuando se asigna a TRUE, especifica el procesamiento del ultimo bloque de datos.
Después de procesar el último bloque de datos el VI administra los datos internos. Si se desea
procesar únicamente un solo bloque de datos, deje desalambrado end of data, o asigne por defecto
TRUE. Si se desea procesar bloques de datos consecutivamente, asigne end of data o FALSE para
todos hasta el último bloque de datos.

# found es el número de picos/valles encontrados en los bloques de datos. # found es el tamaño


de la localización de los arreglos, Amplitudes, y 2nd Derivativas.

end of data, #found(#encontrado): es el número de picos/valles encontradas en las bases de


datos. #foundes el tamaño del arreglo Localización, Amplitudes, y 2das Derivadas.

Location: (localización): contiene la localización de los picos/valles encontradas en las bases de


datos.

Amplitudes (Amplitud): contiene las amplitudes de los picos/valles encontradas en la corriente de


la base de datos.

2nd Derivatives: (Segundas derivadas): contiene las segundas derivadas de los picos/valles

Error: retorna cualquier error advertencia del VI. Refiere a SPEC (SignalProcessing Error
Codes) para mayor información a cerca de esta condición.
Los registros pueden ser pasados por el detector de picos VI como un simple arreglo o
como un bloque de datos consecutivos. Este detector de picos VI está basado en un
algoritmo que adecua un polinomio cuadrático a un grupo secuencial de registros. El
número de registros usado en el acople es especificado por width.

Para cada pico o valle, el ajuste cuadrático es evaluado de forma contraria al nivel límite.
Los picos más largos que el nivel límite o valle más anchos que el nivel límite son
ignorados. picos/valles son detectados únicamente después de aproximadamente width/2
registros que han sido procesados más allá de la localización de picos/valles. Este retardo
tiene implicaciones únicamente para procesos de tiempo real. El detector de picos
VI podría notificar cuando el primero y el ultimo bloque han pasado por el VI, como el VI
puede inicializar y entonces libera datos internos al algoritmo detector de picos.

Quieres tener el programa comunícate con www.ni.com

Guías prácticas de LabVIEW


Una forma práctica y sencilla de introducirse en el lenguaje de LabVIEW.

Tarea No 1

Para dar comienzo al trabajo con LabVIEW se debe ejecutar LabVIEW.exe, sale el plano Block
Diagram que es donde se elaborarán los circuitos, para ver como están quedando en panel frontal
se oprimen las teclas Ctrl E y sale Front Panel,

La siguiente figura muestra el plano circuital (Block Diagram) o diagrama de bloques,


La siguiente figura muestra el plano frontal (Front Panel),

Un ejemplo muy básico, realizar una suma elemental entre dos variables

1. insertar el operador suma


2. insertarle entre los nodos de entrada dos controles
3. insertar en la salida un indicador

el circuitos en el diagrama de bloques quedará


En el plano frontal se verá de la siguiente forma:

Al hacer clic sobre uno de los controles variará el número de entrada y se sumará con el
otro y en x+y se verá el resultado.

así sucesivamente, se pueden realizar operaciones y programas sin límites.

Tarea No 2

Un programa que muestre en instrumentos virtuales el voltaje variable y la corriente


resultante

Descripción:

1. Dibujar el siguiente circuito en Paint (.bmp)

2.Una vez resuelto a mano el circuito eléctrico, resolverlo en lenguaje gráfico en el


Diagrama de Conexiones de LabVIEW

Procedimiento:

1. Iniciar el programa LabVIEW, (New VI)


2. Copiar y pegar en el panel frontal de LabVIEW el circuito hecho en Paint.
3. Para pasar de una ventana a otra (Panel o Diagrama de Conexiones) se
presionan las teclas Ctrl E.
4. En el diagrama de conexiones de LabVIEW hace clic con la tecla derecha
del Mouse y aparece la paleta de herramientas de funciones, allí escoge el
icono de Numeric donde aparecerán las funciones, hace clic sobre la que
necesite aparece la mano con la función deseada, hace de nuevo clic sobre
el punto que desea posicionarla.
5. Presionando la barra espaciadora hasta que salga la carreta de hilo
(cableador) hace clic en las puntas de las funciones y la lleva
hasta el conector donde desee conectarla (hasta que parpadee la punta)
hace de nuevo clic y queda conectada, en las patas de la primeras
funciones haga clic con la tecla derecha del Mouse aparece un menú
escoge Create luego Control, cambiar el nombre con (AI) de la paleta de
herramientas.
6. Presione ctrl E pasa al panel frontal y arregla la figura para que quede la
siguiente forma: En la barra menú oprima la flecha para correrlo.

Tarea No 3

1. Realizar un programa en lenguaje gráfico, que maneje secuencias lógicas


como un ciclo FOR

Descripción:

1. Realizar una sumatoria con la siguiente condición


2. Una variable i, que varíe entre 0 y 50
3. Que se incremente en 2
4. Que la respuesta de 50

Procedimiento:

1. Se procede indicando la forma del ciclo For: (i=0; i<=50; i=i+2)


2. Se pasa con teclas Ctrl E, para desarrollar el circuito virtual.
3. Para desarrollar el circuito virtual hay que ver que se necesita:
a. Dos constante (N=49), y el incremento en 2.
b. Un sumador (Add) para ir sumando la variable.
c. Un indicador que va mostrando el resultado.
4. En el diagrama de conexiones de LabVIEW se hace clic con la tecla
derecha del Mouse y aparece la paleta de herramientas de funciones, allí
escoge el icono de (Numeric) donde aparecerán las funciones, se escoge
el de (Add) se hace nuevo clic sobre el punto que desea posicionarla.
5. Presionando la barra espaciadora hasta que salga la carreta de hilo
(cableador) hace clic en las puntas de las funciones y la lleva hasta el
conector donde desee conectarla (hasta que parpadee la punta) hace de
nuevo clic y queda conectada, en las patas de la primeras funciones haga
clic con la tecla derecha del Mouse aparece un menú escoge Create luego
Control, cambiar el nombre con (AI) de la paleta de herramientas.
6. Presione Ctrl E pasa al panel frontal y arregla la figura para que quede la
siguiente forma: En la barra menú oprima la flecha para correrlo.

Tarea No 4

1. Realizar un programa en lenguaje gráfico, que maneje secuencias lógicas


como un ciclos FOR

A Descripción del circuito 1:

1. Realizar una sumatoria con la siguiente condición


2. Una variable i, que empiece en 7, 2. Que se incremente en 0,01, y 3.Que la
respuesta es menor o igual a 10

Procedimiento:

1. Con clic derecho en el plano de diagramas, seleccionar Funtions, luego


Structures, allí mismo escoger (ForLoop), en uno de los lados del ciclo, se
adiciona (AddShiftRegister) y aparecerán las flechas naranja a los lados, (lo
que se haga en la salida incide en la entrada).
2. Se introducen todos los elementos dentro del ciclo, y luego se conectan.
a. Un sumador (Add) para ir sumando la variable y divisor (Divide) para
dividir el incremento de la variable, se le adicionan:
b. Tres constantes (N=300), constante divisor (100) que es el
incremento en 0,01.
c. .Un indicador que va mostrando el resultado.
3. Sobre el ShiftRegister de la salida se hace Clic derecho, escogiendo
(Create), luego (Indicador), dentro de las herramientas del (Tools Palette)
se escoge (A), luego se hace Clic sobre (Numeric) que es el Label del
indicador, allí se coloca (i=7; i<=10; i=0,01),

.B Descripción del circuito 2

1. Este punto es el mismo primero anterior, luego se insertan funciones y


constantes:
a. Un sumador (Add) para ir sumando la variable y divisor (Divide) para
dividir el incremento de la variable, se le adicionan: Tres constantes
(N=19), constante múltiplo (5) que es el decremento en 0,01, y (100)
b. Un indicador que va fuera del ForLoop y que mostrando el resultado.

2. En el Label de indicardor de la misma forma que el anterior pero con lo


siguiente:
3. Realizar una sumatoria con la siguiente condición, Una variable i, empiece
en 100, que itere 19 veces, Que se decremente en 5 y que la respuesta de
>=10 Se procede indicando la forma del ciclo For: (i = 100; i>=10; i = i-5)

a. Tres constantes (N=19), (100) constante divisor y el incremento en


por 5.
b. Un sumador (Add) para ir sumando la variable y divisor (Divide) para
dividir el incremento de la variable.

Tarea No 5
1. Realizar un programa en lenguaje gráfico, que maneje secuencias lógicas como
un ciclo Estructura Case, este consta de: uno o más subdiagramas o Cases,
exactamente uno de los cuales se ejecuta cuando la estructura se está
ejecutando, el selector determina que caso se ejecuta, y puede ser Booleano,
(String) una cadena, un número entero, o un tipo de enumerador, el Clic derecho
del borde de la estructura adiciona o borra casos, usando la herramienta del Label
para entrar valores.

Descripción:

1. Construir un termómetro digital virtual


2. Que seleccione entre grados Celsius y Grados Fareng.
3. Seleccionar un indicador de barra como lo muestra la figura del panel
frontal.
4. Que el rango este entre 0 y 100

Procedimiento:

1. Se procede introduciendo una estructura Case para convertir el sistema de


grado. N-32*5/9 en el caso (true), en el caso (false) es constante.
2. Se le introduce un Demo Voltaje Read.vi antes de la estructura, con canal
en 0 y el identificador del Board en 3.
3. Debe guiarse por el diagrama de la figura. Para verificar que se necesita.

Seleccione el valor de False y trac


Tarea No 6

1. Realizar un programa en lenguaje gráfico, que maneje un menú selectivo,


que a su vez maneje secuencias lógicas como un ciclo For, así mismo
diseñar un Osciloscopio que reúna todo lo anterior.

Descripción:

1. Construir un Menú con selector virtual.


2. Hacer un Ciclo For con diferentes tipos de generadores de onda.
3. Insertar un graficador que muestre el tipo de onda seleccionado.
4. Insertar un potenciómetro que varíe la amplitud.

Procedimiento:

1. Se procede introduciendo una estructura For para generar los datos de


cada onda, y en él se integran los diferentes tipos de onda.
2. Debe guiarse por el diagrama de la figura. Para verificar que se necesita.
3. Para mezclar las gráficas inserte un BuildArray y para entregarlas al
graficador un IndexArray
Tarea No 7

1. Realizar un programa en lenguaje gráfico, que maneje un menú selectivo,


que a su vez maneje secuencias lógicas como un ciclo WhileLoop, que a su
vez maneje un Case Structure, así mismo diseñar un Osciloscopio que
maneje varios tipos de onda.

Descripción:

1. Construir un ciclo Case Structure el cual albergue un Sine Waveform.vi,


manejando 4 tipos de onda.
2. A la salida del Ciclo Case Structure insertar un graficador.
3. a la estrada del ciclo Case Structure Insertar 5 selectores para las
diferentes funciones.
4. Debe guiarse por el diagrama de la figura. Para verificar que se necesita.
Tarea No 8

1. Realizar un programa en lenguaje virtual, que muestre un avión


deslazándose sobre una pista, mostrando así, el montaje de figuras sobre
los (Slider) desplazadores.

Descripción:

1. Dibujar un avión en Paint, resaltarlo (Ctrl E), luego copiarlo (Ctrl C),
Posicionado en el Panel de LabVIEW, hacer Clic derecho, escoger
(ClassicControls), luego Numeric, allí mismo (Horizontal Pointer Slider),

extenderlo (estirarlo de la punta) a lo largo de la pantalla.


2. Colocar el puntero del Mouse sobre el cursor del Slider, hacer clic
exactamente sobre este, en el menú se escoge la opción (Advanced), al
frente se escoge (Customize…), seleccionar en la barra superior una llave
cuya función es (EditMode), hacer Clic sobre esta, saliendo resaltado todo
sobre el Slider, sobre el cursor del Slider hacer Clic derecho y se hace Clic
sobre (Import Picture), y luego se hace Clic derecho sobre el avión y se
hace Clic Izq sobre (Picture Item..) escogiendo el de la derecha. (▼), luego
se puede salir sin grabar, pero poner Yes a la pregunta Replacethe original
control Slider by control presionar.
3. Para hacerle un control sencillo simplemente se selecciona el ConnectWire
(carreta hiladora) del (Tools Palette) sobre la salida del Slider en el
diagrama de conexiones, haciendo Clic derecho, se escoge (Create) y
luego (Indicador).
4. Se ha duplicado el Slider, con el (OperateValue) del (Tools Palette; la
manito) mirar cual de los dos desplaza el otro y sobre este se hace Clic
derecho escogiendo (Replace) del Menú (Numeric) se escoge en este caso
(Knob).
5. Al correrlo solo desplaza el cursor del (Knob). Y el avión se desplazará.

La primera figura muestra el diagrama de conexiones entre el (Knob) y el (Slider)

La segunda parte muestra panel.

También podría gustarte