LABORATORIO N2LabVIEW (Laoratory Virtual Instrument Engineering
Workbench) es un sistema de desarrollo basado en programacin
grfica, orientado a desarrollar aplicaciones para instrumentacin,
el cual integra una serie de libreras para comunicacin con
instrumentos electrnicos como GPIB, RS232 o RS485 con tarjetas de
adquisicin de datos, con sistemas de acondicionamiento como VXI o
SCXI, comunicaciones en redes TCP/IP, UP, o en los estndares 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 analogas
con funciones provenientes de lenguajes de programacin
convenientes.Los VIs se compones de: Panel frontal: Interfase
grfica que simula el panel de un instrumento real, el cual permite
entrada y salida de datos, incluye; perillas, pulsadores, botones,
grficos, controles e indicadores.
Figura 6.1 panel frontal de LabVIEW Diagrama de Bloques:
Contiene el cdigo fuente grfico 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 LabVIEWHerramientas: Contienen
las herramientas necesarias para editar y depurar los objetivos
tanto del panel frontal como del diagrama de bloques. Tools
Palette, Controls Palette, Functiones palette: 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 herramientasPaleta de Herramientas (Tools
Palette):Asigna valores a los controles del panel frontal, se
encuentra disponible cuando se corre y edita la aplicacin. Cuando
edita objeto basados en texto o nmeros, 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 tamao.Crea y edita textos tanto en
el panel frontal como en el diagrama de bloques. Utilizado para
generar la estructura lgica de eventos mediante la conexin 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
funcin se puede realizar haciendo un clic derecho del ratn sobre el
objeto.Mueve todos los objetos dentro de la ventana activa. Detiene
la ejecucin del programa en el punto del diagrama donde se coloque.
Se utiliza con fines de depuracin.Se coloca sobre algn conductor o
hilo de conexin para verificar de forma temporal el valor que fluye
a travs de este Obtiene el color del objeto que se seale. 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 encontrarn varios y se obtendr el control deseado haciendo clic
sobre esteNumeric Controles e indicadores Numricos como:
Dispositivos de medida (metros) digitales o anlogos. Boolean
Controles e indicadores Booleanos, simplemente swiches o
interruptores. String y Path Controles e indicadores de cadenas y
caminosArray y Cluster manejo de Arreglos List y Table manejo de
listas y tablas.Graph Graficas, normalmente las que saca el
osciloscopio o grficas en tercera dimensin, muy utilizada en
Instrumentacin.Ring y EnumI/O entradas y salidas, puede incluir
tarjetas o puertos.Refnum hace referencias numricas.Dialog Controls
realiza controles de dialogo.Classic Controls Controles clsicos
Activex (Contenedor, Variantes y automatizacin 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.User Controls Controles nuevos o implementados por el usuario
Figura 6.5 paleta de funcionesPaleta de funciones (Palette
Functions).El segundo icono muestra Numerics: Suma, resta,
multiplica , divide, Incremento, decremento, sumatoria,
multiplicatoria, valor absoluto, redondeo prximo, redondeo a
infinito, redondeo a +infinito, Raz cuadrada, signa negativo,
escala en potencias de 2, signado, Componentes aritmticas, randum
(aleatorio), recproco, convertidores, funciones trigonomtricas,
funciones logartmicas, funciones complejas, constantes, cantantes
numricas adicionales.El tercer icono muestra Booleans Compuertas
lgicas; And, Nand, Or, Nor, Or exclusivo, Nor Exclusivo, Yes, Not,
Componentes aritmticos, And de arreglo de elementos, Or de arreglo
de elementos, Detalles y herramientas empleados en el proyecto QTc
(Anexo)Build Array Concatena mltiples conjuntos o agrega elementos
a un conjunto de n dimensiones. Tambin se puede reemplazar la
funcin de un Subconjunto al modificar un conjunto existente.
Figura 6.6 Build ArrayIndex Array Retorna los elementos o
subconjuntos de un conjunto de n-dimensiones a una lista. Cuando se
alambra un conjunto a esta funcin, la funcin se dimensiona
automticamente. Se pueden anexar adicionalmente elementos o
subconjuntos terminales redimensionando la funcin.
Figura 6.7 Index ArrayDelete From Array Borrar un elemento del
subconjunto para un conjunto de n-dimensiones y retorna el conjunto
editado en array w/ subset deleted y el elemento borrado o
subconjunto en una porcin Borrada.
Figura 6.7 Delete From ArrayArray Subset Retorna una porcin del
comienzo del arreglo empieza indexarlo contiendo la longitud de del
arreglo.
Figura 6.8 Array SubsetBuild waveformWaveform: 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 waveformSelect item: t0: es el tiempo de
arrranque de la forma de onda.Dt: es el intervalo de tiempo, o
duracin, entre la forma de onda y los datos.Y: contiene el valor de
los datos de la forma de onda.waveform es 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.Graphing Waveform DataRealiza el desarrollo
por pasos, los datos en forma de onda en una serie de puntos
mostrados en waveform graph.
Figura 6.10 Graphing Waveform dataUbica la forma de onda sobre
el panel forntal.Construye un diagrama de bloques con el objeto
desarrollado funcin Divisin. Funcin Seno. Get Waveform Components
Retorna los componentes de la forma de la onda (seal) que se
especifiquen. Se pueden especificar los componentes hacienda click
derecho y seleccionando Add Element y creando un indicador.
Figura 6.11 Get Waveform ComponentesWavelet Transform
Daubechies4 Ejecuta la transformada Wavelet Daubechies4 sobre la
funcin
Figura 6.12 Waveform Transform Daubechies4Wavelet Transform
Daubechies4 Inverse Ejecuta la inversa de la transformada base
Wavelet Daubechies4 sobre la funcin
Figura 6.13 Waveform Transform Daubechies4 InverseWaveform Peak
Detection Encuentra la localizacin, amplitud, y segunda derivada de
picos y valles en la seal 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 seal
entrante, entra determinando la instancia del polifrmico a usar.
Este VI es similar al detector de picos (Peak Detector). Figura
6.14 Waveform Peak DetectionFor 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 cclico, el
cual tiene un rango desde 0 hasta n-1. A este se le pueden inyectar
Shif Register es una conexin entre el mundo interior y el
exterior.
Figura 6.15 For LoopWhile Loop Ejecuta estos subdiagramas hasta
la condicin terminal, recibe un valor Booleano particular. El valor
Booleano depende de la continuacin del comportamiento del While
Loop. Click derecho el condicionamiento del terminal y seleccione
Stop si es Verdad o Contine es verdad para el men corto.
Figura 6.16 While LoopCase Structure Tiene uno o ms
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 enumeracin. El clic
derecho al borde de la estructura adiciona o borra casos. El
Labeling tool se usa para entrar valores en el caso del rtulo
selector de casos y configuracin, los valores escogen para cada
caso.
Figura 6.17 Case StructureWait Until Next ms Multiple.Espera
hasta el valor de los milisegundos, multiplicando por millisecond
multiple especificado. Se usa esta funcin para actividades de
sincronizacin. Se puede utilizar esta funcin en un loop de
control:
Figura 6.18 Wait Until Mean Computa el mean (significado) de los
valores de la secuencia de entrada X.
Figura 6.19 MeanOperaciones Numricas Realiza operaciones
numricas.
Figura 6.20 Operaciones numricasPeak Detector (detector de
picos)Detector de Picos: Encuentra la localizacin, amplitud y
segundas derivadas de picos o valles en los arreglos de
entrada.Figura 6.21 Peak DetectorX es la entrada que 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 (lmite) rechaza picos y valles muy pequeos. Para
picos, el VI ignora cualquier pico encontrado con una medida de
amplitud que sea menor al lmite. El VI ignora valles si la medida
de la hondonada en mayor que el lmite.width especifica el nmero de
data points consecutivos a usar en los mnimos cuadrados cuadrticos
ajustados. width est ajustado al valor mayor o igual a 3. El valor
podra ser no ms de un cuarto del ancho de los picos/valles y podra
ser mucho ms grande (pero >2) para un dato libre de picos.
peaks/valleys: especifica si los VI son vistos como picos
(positive-going bumps) o valles (negative-going bumps). La
asignacin 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 asignacin interna al comenzar la
propia operacin. 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.
Despus 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 nmero de picos/valles encontrados en los bloques de datos. #
found es el tamao de la localizacin de los arreglos, Amplitudes, y
2nd Derivativas.end of data, #found (#encontrado): es el nmero de
picos/valles encontradas en las bases de datos. #found es el tamao
del arreglo Localizacin, Amplitudes, y 2das Derivadas.Location:
(localizacin): contiene la localizacin 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/vallesError: retorna cualquier
error advertencia del VI. Refiere a SPEC (Signal Processing Error
Codes) para mayor informacin a cerca de esta condicin.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
cuadrtico a un grupo secuencial de registros. El nmero de registros
usado en el acople es especificado por width.Para cada pico o
valle, el ajuste cuadrtico es evaluado de forma contraria al nivel
lmite. Los picos ms largos que el nivel lmite o valle ms anchos que
el nivel lmite son ignorados. picos/valles son detectados nicamente
despus de aproximadamente width/2 registros que han sido procesados
ms all de la localizacin de picos/valles. Este retardo tiene
implicaciones nicamente para procesos de tiempo real. El detector
de picos VI podra 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 comuncate con www.ni.comGuas prcticas de LabVIEWUna
forma prctica y sencilla de introducirse en el lenguaje de
LabVIEW.Gua No 1Para dar comienzo al trabajo con LabVIEW se debe
ejecutar LabVIEW.exe, sale el plano Block Diagram que es donde se
elaborarn los circuitos, para ver como estn 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 bsico, realizar una suma elemental entre dos
variables1. insertar el operador suma 2. insertarle entre los nodos
de entrada dos controles3. insertar en la salida un indicadorel
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 nmero 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
lmites. Gua No 2Un programa que muestre en instrumentos virtuales
el voltaje variable y la corriente resultanteDescripcin: 1. Dibujar
el siguiente circuito en Paint (.bmp)
2.Una vez resuelto a mano el circuito elctrico, resolverlo en
lenguaje grfico 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 aparecern las funciones, hace clic sobre la que
necesite aparece la mano con la funcin 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.
Gua No 31. Realizar un programa en lenguaje grfico, que maneje
secuencias lgicas como un ciclo FOR Descripcin: 1. Realizar una
sumatoria con la siguiente condicin 2. Una variable i, que vare
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=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. Gua No 51. Realizar un programa en lenguaje grfico, que
maneje secuencias lgicas como un ciclo Estructura Case, este consta
de: uno o ms 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 nmero 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. Descripcin: 1. Construir
un termmetro 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
Gua No 61. Realizar un programa en lenguaje grfico, que maneje
un men selectivo, que a su vez maneje secuencias lgicas como un
ciclo For, as mismo disear un Osciloscopio que rena todo lo
anterior. Descripcin: 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 potencimetro que vare 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 grficas inserte un Build Array y para
entregarlas al graficador un Index Array
Gua No 71. Realizar un programa en lenguaje grfico, que maneje
un men selectivo, que a su vez maneje secuencias lgicas como un
ciclo While Loop, que a su vez maneje un Case Structure, as mismo
disear un Osciloscopio que maneje varios tipos de onda. Descripcin:
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.
Gua No 81. Realizar un programa en lenguaje virtual, que muestre
un avin deslazndose sobre una pista, mostrando as, el montaje de
figuras sobre los (Slider) desplazadores. Descripcin: 1. Dibujar un
avin en Paint, resaltarlo (Ctrl E), luego copiarlo (Ctrl C),
Posicionado en el Panel de LabVIEW, hacer Clic derecho, escoger
(Classic Controls), 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
opcin (Advanced), al frente se escoge (Customize), seleccionar en
la barra superior una llave cuya funcin es (Edit Mode), 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 avin 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 Replace the
original control Slider by control presionar. 3. Para hacerle un
control sencillo simplemente se selecciona el Connect Wire (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 (Operate
Value) 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 avin se
desplazar. La primera figura muestra el diagrama de conexiones
entre el (Knob) y el (Slider)La segunda parte muestra panel. Gua No
91. manejar los puertos del computador para la entrada y salida de
datosEJERCICIO 8.1 ESCRIBIR DATOS EN EL PUERTO PARALELOSe pretende
con este ejercicio aprender la forma de escribir datos en el puerto
paralelo y como utilizar la funcin outport.vi1. Conectar el mdulo
entrenador de puerto paralelo.2. Construir un VI con las siguientes
caractersticas.Figura 10.1. Panel y diagrama del ejercicio 10.1.La
direccin 0x378 segn la tabla de la figura 10.2, seria el bus de
datos para LPT2. Sin embargo, y aunque esta es la informacin
oficial entregada por IBM, en la mayora de los PCs, el puerto LPT1
viene configurado con las direcciones que aparecen como de LPT2.Por
tanto se considerara que LPT1 posee las siguientes direcciones: Bus
de Datos: 0x378, Bus de Estado: 0x379, Bus de control: 0x37A. Se
recomienda verificar y/o cambiar la direccin base del puerto
paralelo.3. Correr continuamente la aplicacin.4. Observar la salida
del registro 0x378 en el entrenador mientras el dato en el control
VALOR desde 0 hasta 255. Identifique que LED corresponde al bit MSB
y cual al LSB.5. Repetir 3 y 4 para la direccin 0x37A. Identifique
MSB y LSB.A continuacin se presenta el ejercicio en lenguaje
C:Tabla 10.2La funcin outportb() enva un byte al puerto
especificado. El primer parmetro de la funcin es la direccin del
puerto a la cual se va a escribir. El segundo parmetro es el valor
del byte enviado.EJERCICIO 10.2. LEER EN EL BUS DE ESTADO DEL
PUERTO PARALELOSe busca con este ejercicio aprender la forma de
leer datos enviados por el puerto paralelo y como utilizar la
funcion inport.1. Conecte el modulo.2. Construir un VI con las
siguientes caractersticas
Figura 10.2. Panel y diagrama del ejercicio 10.2.3. Configure un
dato en la entrada del puerto 0x379 del entrenador.4. Corra la
aplicacin y observe el valor mostrado en VALOR.5. Repita 3 y 4 con
diferentes valores de entrada y observe la equivalencia entre el
numero binario ingresado en el entrenador y el hexadecimal en el
valor indicado VALOR.A continuacin se desarrolla el mismo ejercicio
pero en C:La funcin inportb() lee un byte del puerto especificado.
La funcin principal seest utilizando para mostrar el valor del byte
en pantalla.EJERCICIO 3.3 LEER EL BUS DE DATOS DEL PUERTO
PARALELO1. Activar la propiedad bidireccional del bus de datos.Para
esto se necesita colocar en 1 el bit cinco del bus de control
0x37A, lo que equivale al decimal 32 a esta direccin.
Tabla 10.3. bit 5 de 0x37A en uno.Recordar que esta operacin
debe realizarse antes de entrar datos en el bus. 2. Vari los datos
de entrada en el bus de datos mientras utiliza el VI de la figura
10.3 para leer registro 0x378.3. Comparar las lecturas con los
valores binarios colocados en el bus de datos.Recuerde que para
configurar de nuevo como salida el bus de datos, debe enviar un
decimal 64 al bus de control 0x37A. Tabla 10.3Gua No 10Construya en
simulador de los clculos del QTcLa siguiente figura muestra el
plano circuital en LabVIEW del simulador del QTc
La siguiente figura muestra el simulador como debe quedar Se
oprimen las teclas Ctrl E y se hace click sobre las flechita del
panel fron
Algunos subcuadros de fondo se pueden insertar en la ventana
decorations.