Professional Documents
Culture Documents
Worldwide Offices
Andean and Caribbean +58 212 503-5310, Argentina 0800 666 0037, Australia 1800 300 800, Austria 43 662 45 79 90 0, Belgium 32 0 2 757
00 20, Brazil 55 11 3262 3599, Canada 800 433 3488, Chile 800 532 951, China 86 21 5050 9800, Czech Republic/Slovakia 420 224 235 774,
Denmark 45 45 76 26 00, Finland 358 0 9 725 725 11, France 33 0 1 48 14 24 24, Germany 49 89 741 31 30, Hungary 36 23 501 580, India 1
800 425 7070, Ireland 353 0 1867 4374, Israel 972 3 6393737, Italy 39 02 413091, Japan 81 3 5472 2970, Korea 82 02 3451 3400, Lebanon
961 0 1 33 28 28, Malaysia 1800 887710, Mexico 01 800 010 0793, Netherlands 31 0 348 433 466, New Zealand 0800 553 322, Norway 47 0
66 90 76 60, Poland 48 22 3390150, Portugal 351 210 311 210, Russia 7 495 783 68 51, Singapore 1800 226 5886, Slovenia/Croatia,
Bosnia/Herzegovina, Serbia/Montenegro, Macedonia 386 3 425 42 00, South Africa 27 0 11 805 8197, Spain 34 91 640 0085, Sweden 46 0 8
587 895 00, Switzerland 41 56 200 51 51, Taiwan 886 2 2377 2222, Thailand 662 278 6777, Turkey 90 212 279 3031, U.K. 44 0 1635 523545,
Uruguay 0004 055 114
To comment on National Instruments documentation, refer to the National Instruments Web site at ni.com/info and enter the
info code feedback.
2013 National Instruments Corporation. All rights reserved.
Important Information
Warranty
The media on which you receive National Instruments software are warranted not to fail to execute programming instructions, due to defects in materials and
workmanship, for a period of 90 days from date of shipment, as evidenced by receipts or other documentation. National Instruments will, at its option, repair or replace
software media that do not execute programming instructions if National Instruments receives notice of such defects during the warranty period. National Instruments does
not warrant that the operation of the software shall be uninterrupted or error free. A Return Material Authorization (RMA) number must be obtained from the factory and
clearly marked on the outside of the package before any equipment will be accepted for warranty work. National Instruments will pay the shipping costs of returning to the
owner parts which are covered by warranty. National Instruments believes that the information in this document is accurate. The document has been carefully reviewed for
technical accuracy. In the event that technical or typographical errors exist, National Instruments reserves the right to make changes to subsequent editions of this document
without prior notice to holders of this edition. The reader should consult National Instruments if errors are suspected. In no event shall National Instruments be liable for any
damages arising out of or related to this document or the information contained in it. EXCEPT AS SPECIFIED HEREIN, NATIONAL INSTRUMENTS MAKES NO WARRANTIES,
EXPRESS OR IMPLIED, AND SPECIFICALLY DISCLAIMS ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. CUSTOMERS RIGHT TO
RECOVER DAMAGES CAUSED
BY FAULT OR NEGLIGENCE ON THE PART OF NATIONAL INSTRUMENTS SHALL BE LIMITED TO THE AMOUNT THERETOFORE PAID BY THE
CUSTOMER. NATIONAL INSTRUMENTS WILL NOT BE LIABLE FOR DAMAGES RESULTING FROM LOSS OF DATA, PROFITS, USE OF PRODUCTS,
OR INCIDENTAL OR CONSEQUENTIAL DAMAGES, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. This limitation of the liability of National
Instruments will apply regardless of the form of action, whether in contract or tort, including negligence. Any action against National Instruments must be brought
within one year after the cause of action accrues. National Instruments shall not be liable for any delay in performance due to causes beyond its reasonable control. The
warranty provided herein does not cover damages, defects, malfunctions, or service failures caused by owners failure to follow the National Instruments installation,
operation, or maintenance instructions; owners modification of the product; owners abuse, misuse, or negligent acts; and power failure or surges, fire, flood, accident,
actions of third parties, or other events outside reasonable control.
Copyright
Under the copyright laws, this publication may not be reproduced or transmitted in any form, electronic or mechanical, including photocopying, recording, storing in an
information retrieval system, or translating, in whole or in part, without the prior written consent of National Instruments Corporation. National Instruments respects the
intellectual property of others, and we ask our users to do the same. NI software is protected by copyright and other intellectual property laws. Where NI software may be
used to reproduce software or other materials belonging to others, you may use NI software only to reproduce materials that you may reproduce in accordance with the terms
of any applicable license or other legal restriction. BSIM3 and BSIM4 are developed by the Device Research Group of the Department of Electrical Engineering and Computer
Science, University of California, Berkeley, and copyrighted by the University of California.
Trademarks
CompactDAQ, CompactRIO, LabVIEW, National Instruments, and NI, ni.com are trademarks of National Instruments Corporation. Refer to the Terms of Use section on
ni.com/legal for more information about National Instruments trademarks. Other product and company names mentioned herein are trademarks or trade names of their
respective companies.
Patents
For patents covering National Instruments products, refer to ni.com/patents.
Some portions of this product are protected under United States Patent No. 6,560,572.
Contenido
Convenciones del Manual ................................................................................................................... 1
Requerimientos .................................................................................................................................... 2
Ejercicio 1. Fundamentos del Entorno de LabVIEW .......................................................................... 3
Ejercicio 2. Estructuras de Ejecucin: Ciclos While, For y Estructura de Casos ............................. 12
Ejercicio 3. Clusters de Error y su Implementacin ......................................................................... 22
Ejercicio 4. Plantillas y Proyectos de Ejemplo .................................................................................. 26
Ejercicio 5. Generacin de Reportes ................................................................................................. 35
Ejercicio 6. Su Primer Maquina de Estados ...................................................................................... 40
Ejercicio 7. Programacin Basada en Eventos ................................................................................. 52
Ejercicio 8. Cmo Reutilizar Cdigo .m en LabVIEW?.................................................................... 54
Este cono denota una advertencia, la cual le alerta sobre informacin de consejo.
Este cono denota una nota, la cual le alerta sobre informacin importante.
Este cono denota prevencin, la cual le advierte sobre precauciones a tomar con el fin de evitar
lesiones, perdidas de datos o una cada del sistema.
Texto en negrita denota tems que usted debe seleccionar o hacer Clic en el software, tales
como tems de mens u opciones de cajas de dialogo. El texto en negrita tambin denota
nombres de parmetros, controles y botones en el panel frontal, cajas de dialogo, secciones de
cajas de dialogo, nombres de men y nombres de paletas.
Texto en itlica denota variables, nfasis, una referencia cruzada o una introduccin a un
concepto clave. El texto en itlica tambin denota texto que se ubica ara una palabra o valor
que usted debe suministrar.
mexico.ni.com/academia
Pgina | 1
Requerimientos
Requerimientos de Software
Antes de comenzar con este manual de ejercicios, asegrese de contar con el siguiente software:
LabVIEW Development System
Modulo LabVIEW MathScript RT
Modulo Report Generation Toolkit
Controlador DAQmx
mexico.ni.com/academia
Pgina | 2
Objetivo
En este ejercicio conocer los conceptos bsicos del entorno de LabVIEW y pondr en prctica su
primer ejercicio en el ambiente grfico de programacin.
Desarrollo
1. Abra LabVIEW. Desde el men Inicio Todos los Programas National Instruments NI
LabVIEW.
2. Abra un VI en blanco. De clic en la opcin Blank VI. Observe el Panel Frontal y el Diagrama de
Bloques.
Panel Frontal
Cuando abre un VI nuevo o existente, aparece la ventana del panel frontal del VI. La ventana del
panel frontal es la interfaz de usuario para el VI.
mexico.ni.com/academia
Pgina | 3
Diagrama de Bloques
Despus de que crea la ventana del panel frontal, aade cdigo usando representaciones
grficas de funciones para controlar los objetos del panel frontal. La ventana del diagrama de
bloques contiene este cdigo fuente grfico.
Los objetos del diagrama de bloques incluyen terminales, subVIs, funciones, constantes,
estructuras y cables, los cuales transfieren datos junto con otros objetos del diagrama de
bloques.
3. Cambie la vista al Panel Frontal.
NOTA: Puede cambiar entre ambas ventanas seleccionando Window Show Block Diagram
o Window Show Front Panel. Tambin puede hacerlo presionando < Ctrl- E> desde el
teclado o haciendo clic en las ventanas si ambas son visibles en la pantalla.
4. Acceda a la paleta de Controles. De clic derecho sobre cualquier espacio del Panel Frontal.
Presione el pin para dejar habilitada la paleta.
Paleta de Controles
La Paleta de Controles contiene los controles e indicadores que utiliza para crear el panel
frontal. Puede tener acceso a la paleta de Controles de la ventana del panel frontal al
seleccionar View Controls Palette o al dar clic con botn derecho en cualquier espacio en
blanco en la ventana del panel frontal. La paleta de Controles est dividida en varias categoras;
puede exponer algunas o todas estas categoras para cumplir con sus necesidades.
mexico.ni.com/academia
Pgina | 4
mexico.ni.com/academia
Pgina | 5
Controles e Indicadores
Cada VI tiene un panel frontal que usted puede disear como una interfaz de usuario. Usted
tambin puede usar paneles frontales como una manera para pasar entradas y recibir salidas
cuando llama al VI desde otro diagrama de bloques. Usted crea la interfaz de usuario de un VI al
colocar controles e indicadores en el panel frontal de un VI. Cuando usted interacta con un
panel frontal como una interfaz de usuario, puede modificar controles para alimentar entradas y
ver los resultados en indicadores. Los controles definen las entradas y los indicadores muestran
las salidas.
Los controles generalmente son perillas, botones y barras deslizantes. Los controles simulan
dispositivos de entrada de instrumentos y suministran datos al diagrama de bloques del VI. Los
indicadores generalmente son grficas, tablas, LEDs y secuencias de estado. Los indicadores
simulan dispositivos de salida de instrumentos y muestran los datos que el diagrama de
bloques adquiere o genera.
6. Cambie la vista al diagrama de bloques. Identifique que los elementos que coloco en el panel
frontal, tienen sus respectivos elementos en el diagrama de bloques.
mexico.ni.com/academia
Pgina | 6
7. Seleccione con el mouse el elemento Boolean 2, presione en su teclado la tecla CTRL y sin
soltarla, arrastre el elemento hacia abajo. Esto permitir crear un duplicado de este indicador.
Este tipo de funcin le permitir copiar desde elementos individuales hasta cdigo. Suelte el
elemento y observe como se llevo a cabo la copia en el Diagrama de Bloques y su respectivo
en el panel frontal. Haga lo mismo para el elemento Boolean.
8. En el Panel Frontal de doble clic sobre la etiqueta de cada uno de los elementos, renombre los
switches por control 1 y control 2, as como los indicadores boleanos por indicador 1 e
indicador 2 respectivamente.
9. Abra la paleta de funciones. De clic derecho sobre cualquier espacio en blanco del diagrama de
bloques y esta paleta aparecer. Al igual que con la paleta de controles, puede dar clic sobre el
pin para dejarla con visibilidad esttica.
Paleta de Funciones
La paleta de Funciones contiene los VIs, funciones y constantes que usted utiliza para crear el
diagrama de bloques. Usted tiene acceso a la paleta de Funciones del diagrama de bloques al
seleccionar View Functions Palette. La paleta de Funciones est dividida en varias
categoras; usted puede mostrar y esconder categoras para cumplir con sus necesidades.
10. Dentro de la paleta de funciones, presione la opcin Search y busque la funcin booleana Not
(presione enter para continuar con la bsqueda). De los resultados, de un clic sobre el elemento
que le interesa y arrastre en medio de los elementos del Control e Indicador 1.
mexico.ni.com/academia
Pgina | 7
Arrastre el elemento de la
paleta de bsqueda hacia el
diagrama de bloques
QuickDrop
En esta palete puede encontrar y colocar Vis, y objetos del panel frontal por nombre en la
ventana de dilogo Quick Drop. Para iniciar Quick Drop, presione las teclas <Ctrl-Space>.
Quick Drop es especialmente til al buscar una operacin o funcin muy especfica. Cuando
escribe, Quick Drop automticamente completa el nombre de las funciones que coinciden.
Despus de que usted identifica la funcin apropiada, haga clic en el diagrama de bloques o
panel frontal para colocar el objeto en esa ubicacin.
mexico.ni.com/academia
Pgina | 8
13. Desde el Diagrama de Bloques dirjase al men Help Show Context Help.
14. Dentro del Diagrama de Bloques de clic sobre cualquier funcin la Not o la And y observe
dentro de la ventana Context Help la descripcin de cada elemento, incluyendo el tipo de
elementos que puede conectar.
Ayuda de LabVIEW
La Ayuda de LabVIEW es el mejor recurso para informacin detallada sobre caractersticas y
funciones especficas en LabVIEW. Cada tema es desglosado en una seccin de Conceptos
con descripciones detalladas y una seccin Cmo Realizar con instrucciones paso a paso para
usar las caractersticas de LabVIEW.
mexico.ni.com/academia
Pgina | 9
Figura 12 Cableado
18. Intercambie los valores del Control 1 y Control 2, observe los resultados reflejados en el
Indicador 1 y 2.
mexico.ni.com/academia
Pgina | 10
mexico.ni.com/academia
Pgina | 11
Objetivo
En este ejercicio conocer las estructuras de ejecucin: While, For y Case. Experimentar con cada
una y al final del ejercicio podr identificar sus diferencias.
Desarrollo
1. Abra un VI en blanco.
2. Agregue un ciclo While al diagrama de bloques. De clic derecho en cualquier rea libre dentro
del diagrama de bloques para acceder a la paleta de funciones (Functions Palette), y navegue
hacia Programming Structures While Loop. De clic sobre While Loop y se colocar
automticamente en su cursor.
3. De clic y arrastre el puntero diagonalmente hasta formar una estructura While del rea que
desee. Puede cambiar el tamao de la estructura arrastrando cualquiera de las cajas para
redimensionar que aparecen cada vez que haga clic sobre los bordes de la estructura.
Ciclo While
Similar a un Ciclo Do o a un Ciclo Repeat-Until en lenguajes de programacin basados en
texto, un Ciclo While ejecuta el cdigo que contiene hasta que ocurre una condicin. El Ciclo
While est ubicado en la paleta Structures. El Ciclo While ejecuta el cdigo que contiene hasta
la terminal condicional, una terminal de entrada, recibe un valor Booleano especfico.
mexico.ni.com/academia
Pgina | 12
La estructura While tiene dos terminales en las esquinas inferiores izquierda y derecha. La
terminal ms importante de esta estructura es la condicin
. Esta terminal condicional se
encuentra en la esquina inferior derecha. Debido a que la estructura While se ejecutar hasta
que le indiquen lo contrario, debemos proveer algn tipo de comando de paro tal que el ciclo no
se ejecute indefinidamente. La otra terminal en la estructura While, el contador de iteraciones
, nos proporciona el nmero de veces que el ciclo While se ha ejecutado.
4. Coloque un Numeric Control en el panel frontal. Cambie la vista al panel frontal y desde la
paleta de Controles Silver Numeric Numeric Control. Cambie el nombre de este
control numrico por X.
5. Coloque un control booleano en el panel frontal. Desde la paleta de Controles Silver
Boolean Push Button. Cambie el nombre de este control booleano por Enable.
6. Cambie la vista al Diagrama de Bloques. Asegrese de que los dos elementos estn dentro del
ciclo While.
7. Coloque una constante numrica dentro del ciclo While. Esta se localiza en la paleta de
Funciones Programming Numeric Numeric Constant.
8. Cambie el tipo de dato de la constante numrica, dando clic derecho sobre el elemento en el
diagrama de bloques. Del men desplegable seleccione Representation Double Precision.
9. Ingrese el valor de 10 en la constante numrica.
10. Coloque una funcin Greater or Equal dentro del ciclo While. Esta se localiza en la paleta de
Funciones Programming Comparison Greater or Equal.
mexico.ni.com/academia
Pgina | 13
11. Cablee el control X hacia la terminal x de la funcin Greater or Equal. Haga lo mismo de la
constante numrica hacia la terminal Y de la funcin.
12. Coloque una funcin AND desde la paleta de Funciones Programming Boolean AND.
13. Cablee la terminal x>=y? de la funcin Greater or Equal hacia la terminal de entrada X de la
funcin booleana AND.
14. Colquese sobre la terminal Y de la funcin booleana AND, de clic derecho y del men
desplegable seleccione Create Control. Cambie el nombre de este control por Enable.
15. Cablee la terminal de salida de la funcin booleana a la terminal Loop Condition del ciclo
While.
19. Interacte con el control X hasta superar el valor de la constante (en este caso se configuro con
valor de 10) y que el control booleano este habilitado se detendr la ejecucin del programa.
20. Guarde el VI como Ejercicio2_CicloWhile.vi
mexico.ni.com/academia
Pgina | 14
Ciclo For
Un Ciclo For ejecuta un subdiagrama un nmero de veces establecido. El Ciclo For est
ubicado en la paleta Structures.
La terminal de conteo es una terminal de entrada cuyos valores indican cuantas veces se
repite el subdiagrama.
La terminal de iteracin es una terminal de salida que contiene el nmero de iteraciones
terminadas.
La cantidad de iteraciones para el Ciclo For siempre comienza en cero.
El Ciclo For difiere del Ciclo While en que el Ciclo For ejecuta un nmero de veces establecido.
Un Ciclo While detiene la ejecucin solamente si existe el valor en la terminal condicional.
1. Abra un nuevo VI en blanco.
2. Cambie la vista al Diagrama de Bloques.
3. Inserte una esctructura For Loop. Este VI lo puede localizar desde la paleta de Functions
Programming Structures For Loop
5. Cree un constante para la terminal N del ciclo For Loop. Coloque su mouse sobre la terminal,
de clic derecho con el mouse. Del men desplegable seleccione Create Constant. Cambie su
valor a 10.
mexico.ni.com/academia
Pgina | 15
6. Coloque un VI Random Number dentro de la estructura For Loop. Este lo puede encontrar en la
paleta de Functions Programming Numeric Random Number.
mexico.ni.com/academia
Pgina | 16
La opcin Highlight Execution se utiliza para ver de forma animada la ejecucin del diagrama
de bloques. Esta muestra el movimiento de los datos en el diagrama de bloques de un nodo a
otro a travs del cableado
15. Observe en el Diagrama de Bloques como se van generando los datos de forma aleatoria.
mexico.ni.com/academia
Pgina | 17
Figura 27 Resultados
Estructura de casos
Una estructura de Casos tiene dos o ms subdiagramas o casos. Solamente un subdiagrama es
visible a la vez y la estructura ejecuta solamente un caso a la vez. Un valor de entrada
determina cual subdiagrama se ejecuta. La estructura de Caso es similar a las instrucciones del
interruptor o las instrucciones si...despus... en lenguajes de programacin basados en texto.
Debe cablear un entero, valor Booleano, secuencia o valor de tipo enumerado a la terminal del
selector. Puede colocar la terminal del selector en cualquier parte del borde izquierdo de la
estructura de Casos. Si el tipo de datos de la terminal del selector es Booleano, la estructura
tiene un caso True o un caso False. Si la terminal del selector es un entero, secuencia o valor
de tipo enumerado, la estructura tiene cualquier nmero de casos.
1. Abra un VI en blanco.
2. Cambie la vista al Diagrama de Bloques.
3. Coloque una estructura de casos. Desde la paleta de Funciones Programming Structures
Case Structure
mexico.ni.com/academia
Pgina | 18
8. Coloque dentro de la estructura de casos para el valor True una constante numrica con un
valor de 1. La constante numrica la puede obtener desde la paleta de Funciones
Programming Numeric Numeric Constant.
mexico.ni.com/academia
Pgina | 19
10. Coloque dentro de la estructura de casos para el valor False una constante numrica con un
valor de 0.
11. Cablee la constante al borde de la estructura case.
12. Pose el mouse sobre la terminar que se encuentra en el borde de la estructura case. De clic
derecho y del men desplegable seleccione Create Indicator
mexico.ni.com/academia
Pgina | 20
15. Ejecute el VI y observe el valor del indicador numrico del Panel Frontal cuando el botn se
encuentra habilitado o deshabilitado.
mexico.ni.com/academia
Pgina | 21
Objetivo
En este ejercicio conocer como crear un cluster y como debe implementarlo en sus aplicaicones.
Desarrollo
1. Abra un VI en blanco.
2. Abra el Panel Frontal.
3. Coloque un Control Numrico en el Panel Frontal. El Control Numrico se encuentra en la
paleta de Controles Silver Numeric Numeric Control
mexico.ni.com/academia
Pgina | 22
11. En el Caso Verdadero (True Case) coloque una funcin Square Root de la paleta Functions
Programming Numeric Square Root y cablee como se muestra a continuacin.
12. En el Caso Falso (False Case): Coloque una Constante Numrica. Se localiza en la paleta de
Functions Programming Numeric Numeric Constant y asigne el valor de -9999.90.
13. Coloque una funcion Bundle By Name. Se localiza en la paleta de Functions Programming
Cluster, Class & Variant Bundle By Name.
mexico.ni.com/academia
Pgina | 23
14. Conecte desde Error in hacia la terminal Input Cluster de Bundle by Name para hacer que el
status se muestre.
15. Cablee desde el indicador del Error Out hacia la salida Output cluster del Bundle By name.
16. Redimensione el Bundle By Name para mostrar tres elementos (Status, Code y Source) y cree
constantes para estos. Para crear la constante coloquese en la terminal de entrada y de clic
derecho con el mouse y seleccione Create Constant. Para Status debera ser True, para Code, la
constante sera 5008 y para source el nombre del VI.
17. Cablee como se muestra en la siguiente figura.
mexico.ni.com/academia
Pgina | 24
18. Como se pudo observar, podemos manipular los mensajes cuando aparece determinado error,
y usar este comportamiento en base a nuestras necesidades. As mismo por el cable de error
podemos forzar el comportamiento de nuestro programa.
FIN DEL EJERCICIO
mexico.ni.com/academia
Pgina | 25
Objetivo
En este ejercicio conocer como simular una tarjeta de adquisicin de datos y posteriormente
implementar un proyecto de ejemplo para configurar una aplicacin ya construida.
Desarrollo
Complete el siguiente procedimiento para crear su instrumento simulado:
1. Abra Measurement & Automation Explorer (MAX). Desde el menu Start All Programs
National Instruments Measurement & Automation Explorer (MAX).
mexico.ni.com/academia
Pgina | 26
2. Vaya a la seccin My System Devices and Interfaces. De clic derecho sobre la opcin
Devices and Interfaces y seleccione la opcin Create New
mexico.ni.com/academia
Pgina | 27
5. Para configurar los mdulos simulados del chasis, de clic derecho sobre el elemento y
seleccione Configure Simulated cDAQ Chassis.
mexico.ni.com/academia
Pgina | 28
Pgina | 29
5. En la siguiente ventana deber configurar los elementos de su nuevo proyecto: Nombre del
proyecto, ubicacin de los archivos donde se guardarn en el disco, prefijo para el cono e
inclusive configurar un cono personalizado para el VI principal (main). Para este caso se
eligieron los siguientes datos:
Project Name: Proyecto1
Project Root: C:\ Proyecto1
File Name Prefix: Proy1
Una vez que configure los datos, presione Finish para continuar.
mexico.ni.com/academia
Pgina | 30
mexico.ni.com/academia
Pgina | 31
9. Con el VI en ejecucin, de clic en la opcin Settings. Se abrir una ventana de configuracin del
canal y el modo de adquisicin.
10. Configure los parmetros del siguiente modo:
Physical Channel: cDAQ1Mod1/ai0
Maximun Input: 5
Minimum Input: -5
Sample Rate: 10000
Number of Samples: 1000
New Data Behavior: Replace
NOTA: Asegurarse que el compactdaq ha sido nombrado cDAQ1 en MAX.
Presione OK para continuar.
mexico.ni.com/academia
Pgina | 32
11. Presione la opcin Acquire para empezar a monitorear la adquisicin del canal previamente
configurado. Observe como se muestra la adquisicin de datos de una muestra finita.
12. Para guardar esta adquisicin puede dar clic en la opcin Save.
13. Para obtener el promedio de la adquisicin de clic en la opcin Analyze.
14. Para copiar la grfica a una imagen, de clic en la opcin Copy Graph.
15. Para limpiar la grfica puede dar clic en la opcin Clear.
16. Para detener la adquisicin de clic en el botn Exit.
Como pudo observar, de esta forma es mucho ms fcil hacer adquisicin de datos y ahorrar
tiempo en la generacin de la programacin para este proceso. Usted puede personalizar esta
interfaz en la misma ramificacin del proyecto, dentro de la carpeta de los SubVIs.
mexico.ni.com/academia
Pgina | 33
mexico.ni.com/academia
Pgina | 34
Objetivo
En este ejercicio otro mtodo para trabajar con seales simuladas y como configurar la generacin de
reportes desde cualquier aplicacin.
Desarrollo
1. Abra un nuevo VI en blanco.
2. Cambie la vista al Diagrama de Bloques.
3. Coloque un Simulate Signal Express VI. Este lo puede encontrar en la paleta de Funciones
Express Input Simulate Signal
4.
Al colocar este VI Express aparecer una ventana de configuracin. Configure los siguientes
parmetros:
mexico.ni.com/academia
Pgina | 35
mexico.ni.com/academia
Pgina | 36
9. Al colocar este VI Express aparecer una ventana de configuracin. Configure los siguientes
parmetros:
En esta ventana de configuracin deber seleccionar la direccin y el formato del archivo donde
se generar el reporte.
mexico.ni.com/academia
Pgina | 37
10.
11.
mexico.ni.com/academia
Pgina | 38
12.
13.
14.
Ejecute el VI.
15.
16.
Abra el archivo usando Microsoft Office Excel o Notepad. Revise el ttulo y los datos de
guardados en el archivo.
17.
18.
mexico.ni.com/academia
Pgina | 39
Objetivo
Llevar a cabo el desarrollo de una Mquina Expendedora en LabVIEW
La Aplicacin de Mquina Expendedora en LabVIEW est diseada para aceptar dinero y distribuir un
refresco cuando se haya depositador la cantidad apropiada. Esta aplicacin fue desarrollada utilizando
un diagrama de mquina de estados en LabVIEW.
La aplicacin de Mquina Expendedora en LabVIEW tiene los siguientes requerimientos:
Todos los refrescos se venden a 50 centavos americanos
mexico.ni.com/academia
Pgina | 40
La mquina solo acepta nickels (5 centavos), dimes (10 centavos) y quarters (25 centavos).
No es necesario cambio exacto.
Se puede regresar el cambio en cualquier momento durante el proceso de meter las monedas.
Diagrama de Estados de la Mquina Expendedora en LabVIEW
Para ste ejemplo, nuestro diagrama de estados tendr seis estados. Los estados que usaremos son:
1.) Initializing El estado initializing inicializar la Mquina Expendedora
2.) Waiting El estado Waiting esperar hasta que el usuario realice una accin
3.) Accepting Change El estado Accepting Change aceptar el cambio depositado y actualizar
la cantidad depositada en la informacin del estado. La lgica de transicin para el siguiente
estado se decide con base en una comparacin de la cantidad depositada y el costo del
refresco. Si el usuario ha depositado suficiente dinero, el siguiente estado ser Vending, de otra
manera el siguiente estado ser Waiting.
4.) Vending El estado Vending despachar/entregar el refresco y pasar al estado Distributing
Change.
5.) Distributing Change El estado Distributing Change determinar el cambio que se le debe al
usuario y entregar sta cantidad..
6.) Exiting El estado Exiting apagar y saldr de la aplicacin Mquina Expendedora
mexico.ni.com/academia
Pgina | 41
mexico.ni.com/academia
Pgina | 42
Objetivo Particular
Queremos agregar un Nuevo estado a la Mquina de Estados de LabVIEW. Dicho estado aceptar
seleccin del refresco (Coca-Cola o Pepsi).
Agregar un Nuevo estado a una mquina de estados en LabVIEW
Editar Strict Type Def Enum Controls
Escenario
Hemos agregado dos botones a la aplicacin de LabVIEW para permitir al usuario seleccionar entre
Coca-Cola o Pepsi, pero no tenemos un estado que represente a la mquina aceptando la seleccin de
refresco del usuario. Queremos agregar un nuevo estado a la Mquina de Estados de LabVIEW. Dicho
estado aceptar la seleccin de un refresco (Coca-Cola o Pepsi). Llamaremos al nuevo estado
Accepting Soda Selection.
Descripcin
El State Machine.ctl es un Strict Type Def Enum Control utilizado en la aplicacin Mquina
Expendedora en LabVIEW para la transicin entre los estados. Los controles Strict Type Def hacen
cumplir que cuando se hace cualquier cambio al archivo de control, todas las aplicaciones que la llaman
mexico.ni.com/academia
Pgina | 43
obedecern y actualizarn para reflejar stos cambios. Esto significa que cuando agregamos un nuevo
elemento al Enum para representar un nuevo estado, todas las referencias del control en la aplicacin
Mquina Expendedora de LabVIEW sern actualizadas para incluir el nuevo estado tambin.
Desarrollo
1. Abra el LabVIEW Vending Machine.vi del LabVIEW Vending Machine.lvproj.
2. Abra la representacin de estados de la Mquina Expendedora en LabVIEW en la que el Nuevo
estado debe ser agregado.
a. Localice el control Machine State.ctl en el diagrama de bloques de LabVIEW.
mexico.ni.com/academia
Pgina | 44
3. Edite los elementos en el Machine States.ctl Strict Type Def Enum Control para representar
un estado Nuevo de Accepting Soda Selection
a. Para abrir la ventana de propiedades del Enum que permitir editar elementos en el
Enum control de la Mquina de Estados, haga click derecho y seleccione Edit Items.
mexico.ni.com/academia
Pgina | 45
mexico.ni.com/academia
Pgina | 46
d. Guarde y cierre Machine States.ctl. Notar que cuando hace click en el control
Machine State en el diagram de bloques de la Mquina Expendedora en LabVIEW,
ahora aparece una nueva opcin para Accepting Soda Selection.
mexico.ni.com/academia
Pgina | 47
b. Se dar cuenta que el estado Accepting Soda Selection ha sido agregado al Case
Structure. Ahora hay una implementacin de cdigo del nuevo estado en el que la lgica
de transicin puede ser agregada. La lgica de transicin ser agregada en el siguiente
Ejercicio.
Escenario
Ahora que agregamos el nuevo estado Accepting Soda Selection, es necesario implementar la lgica
de transicin. Este nuevo estado aceptar la seleccin del refresco y determinar si se ha depositado la
cantidad de dinero necesario para despachar el producto. La lgica de transicin hacia el siguiente
estado est definida en base a una comparacin entre el dinero depositado y el costo del refresco. Si el
usuario ha depositado la cantidad necesaria, el siguiente estado ser Vending, de lo contrario el
siguiente estado ser Waiting.
Configuracin
1. Agregar la lgica de transicin al estado Accepting Soda Selection para determinar el
siguiente estado: Vending o Waiting
a. Vaya hacia el estado de Accepting Soda Selection dando click en la etiqueta de la
estructura Case y seleccione Accepting Soda Selection
mexico.ni.com/academia
Pgina | 48
Figura 81 Cableado
iv. Utilice la funcin Select para determinar el siguiente estado. Para hacer esto,
navegue en la paleta de funcionas hacia ProgrammingComparison y
seleccione la funcin de Select. Coloque esta funcin a la derecha del diagrama
mexico.ni.com/academia
Pgina | 49
v. Utilice los controles Machine States.ctl para indicar el siguiente estado. Para
hacer esto, arrastre 2 copias del control Machine States.ctl desde el Project
Explorer y colquelas en la parte izquierdas de la funcin Select en el diagrama
de bloques. Cablear uno de esos controles hacia la terminal superior y el otro
hacia la terminal inferior de la funcin Select. Seleccione Vending en el control
superior y Waiting en el control inferior como se muestra en la imagen. Cablear
la terminal de salida de la funcin Select hacia la terminal Machine State.
vi. Cablear el clster State Information a lo largo del estado Accepting Soda
Selection dentro de la estructura case.
mexico.ni.com/academia
Pgina | 50
2. Guardar y Ejecutar la aplicacin LabVIEW Vending Machine con el nuevo estado Accepting
Soda Selection y la lgica de transicin. Mientras la aplicacin est corriendo, seleccione
cualquier combinacin de efectivo a introducir a la mquina expendedora. Complete los
siguientes pasos mientras la aplicacin est corriendo para observar el comportamiento una vez
alcanzados los .50 centavos.
a. Seleccione un Quarter, Dime, Nickel, Quarter: Notar que una Coca es despachada y le
regresa .15 centavos.
b. Seleccione un Quarter, Dime, Nickel. Seleccione el botn Pepsi y posteriormente
introduzca otro Quarter: Notar que una Pepsi es despachada y le regresa .15 centavos.
mexico.ni.com/academia
Pgina | 51
Escenario
Hemos desarrollado la aplicacin de la mquina expendedora utilizando ahora una arquitectura de
programacin basa en eventos lo cual nos permite estar al pendiente de las acciones que el usuario
realiza en la interfaz sin necesidad de estar realizando un sondeo constante que consume recursos de
CPU.
Descripcin
Una vez entendido el funcionamiento de la mquina expendedora, ahora revisaremos la arquitectura de
programacin basada en eventos, los componentes bsicos, entradas, salidas y funcionamiento, se
analizarn las ventajas y desventajas de utilizar este enfoque de programacin, adems de
recomendaciones sobre su utilizacin en proyectos de ingeniera.
Configuracin
1. Abra el Vending Machine Event-Driven User Interface.vi dentro de LabVIEW Vending
Machine.lvproj.
2. Analice el diagrama de bloques con la estructura basada en eventos. Para ir al diagrama de
bloques presione <Ctrl+E>
mexico.ni.com/academia
Pgina | 52
mexico.ni.com/academia
Pgina | 53
Objetivo
En este ejercicio conocer como utilizar el mdulo NI LabVIEW MathScript de manera independiente a
LabVIEW y como integrarlo a un entorno grfico.
Desarrollo
En este ejercicio conocer como implementar la estructura MathScript para desarrollar cdigo .m
dentro del ambiente de NI LabVIEW.
mexico.ni.com/academia
Pgina | 54
Pgina | 55
NOTA: Con este proceso se hace la ejecucin de las lneas del script. Este script puede
guardarlo para posteriormente compartirlo o importarlo en otras aplicaciones
6. Cambiar su pestaa a la de variables y deber contar con los resultados de su informacin
procesada:
mexico.ni.com/academia
Pgina | 56
13. De clic derecho sobre el borde izquierdo de la estructura. Del men desplegable seleccione
Add Input
mexico.ni.com/academia
Pgina | 57
16. Crear los nodos para las variables de salida sobre el borde derecho del nodo MathScript. Cree
los indicadores: y1, y, d. Si da clic derecho sobre el borde, al ir a la opcin Add Output
aparecern las variables detectadas, de las cules usted no tendr que crearlas manualmente.
Pgina | 58
mexico.ni.com/academia
Pgina | 59