30.04.2013 Views

Introducción al curso de Labview en 6 horas

Introducción al curso de Labview en 6 horas

Introducción al curso de Labview en 6 horas

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Introducción</strong> a LabVIEWTM<br />

Curso <strong>de</strong> Seis-Horas<br />

Course Software Version X.X<br />

September 2003 Edition<br />

Part Number 323669B-01<br />

Copyright<br />

© 2003 Nation<strong>al</strong> Instrum<strong>en</strong>ts Corporation. All rights reserved.<br />

Universities, colleges, and other education<strong>al</strong> institutions may reproduce <strong>al</strong>l or part of this publication for<br />

education<strong>al</strong> use. For <strong>al</strong>l other uses, this publication may not be reproduced or transmitted in any form,<br />

electronic or mechanic<strong>al</strong>, including photocopying, recording, storing in an information retriev<strong>al</strong> system, or<br />

translating, in whole or in part, without the prior writt<strong>en</strong> cons<strong>en</strong>t of Nation<strong>al</strong> Instrum<strong>en</strong>ts Corporation.<br />

Tra<strong>de</strong>marks<br />

LabVIEW , Nation<strong>al</strong> Instrum<strong>en</strong>ts , NI , and ni.com are tra<strong>de</strong>marks of Nation<strong>al</strong> Instrum<strong>en</strong>ts<br />

Corporation. Product and company names m<strong>en</strong>tioned herein are tra<strong>de</strong>marks or tra<strong>de</strong> names of their<br />

respective companies.<br />

Pat<strong>en</strong>ts<br />

For pat<strong>en</strong>ts covering Nation<strong>al</strong> Instrum<strong>en</strong>ts products, refer to the appropriate location: Help»Pat<strong>en</strong>ts in your<br />

software, the pat<strong>en</strong>ts.txt file on your CD, or ni.com/leg<strong>al</strong>/pat<strong>en</strong>ts.


Worldwi<strong>de</strong> Technic<strong>al</strong> Support and Product Information<br />

ni.com<br />

Nation<strong>al</strong> Instrum<strong>en</strong>ts Corporate Headquarters<br />

11500 North Mopac Expressway Austin, Texas 78759-3504 USA Tel: 512 683 0100<br />

Worldwi<strong>de</strong> Offices<br />

Austr<strong>al</strong>ia 1800 300 800, Austria 43 0 662 45 79 90 0, Belgium 32 0 2 757 00 20, Brazil 55 11 3262 3599,<br />

Canada (C<strong>al</strong>gary) 403 274 9391, Canada (Montre<strong>al</strong>) 514 288 5722, Canada (Ottawa) 613 233 5949,<br />

Canada (Québec) 514 694 8521, Canada (Toronto) 905 785 0085, Canada (Vancouver) 514 685 7530, China 86 21<br />

6555 7838, Czech Republic 420 2 2423 5774, D<strong>en</strong>mark 45 45 76 26 00, Finland 385 0 9 725 725 11, France 33 0 1 48<br />

14 24 24, Germany 49 0 89 741 31 30, Greece 30 2 10 42 96 427, India 91 80 51190000, Israel 972 0 3 6393737, It<strong>al</strong>y<br />

39 02 413091, Japan 81 3 5472 2970, Korea 82 02 3451 3400, M<strong>al</strong>aysia 603 9131 0918, Mexico 001 800 010 0793,<br />

Netherlands 31 0 348 433 466, New Ze<strong>al</strong>and 0800 553 322, Norway 47 0 66 90 76 60, Poland 48 0 22 3390 150,<br />

Portug<strong>al</strong> 351 210 311 210, Russia 7 095 783 68 51, Singapore 65 6226 5886, Slov<strong>en</strong>ia 386 3 425 4200, South Africa 27<br />

0 11 805 8197, Spain 34 91 640 0085, Swe<strong>de</strong>n 46 0 8 587 895 00, Switzerland 41 56 200 51 51, Taiwan 886 2 2528<br />

7227, Thailand 662 992 7519, United Kingdom 44 0 1635 523545


Curso LabVIEW <strong>de</strong> Seis Horas Notas <strong>de</strong>l Instructor<br />

Este docum<strong>en</strong>to zip conti<strong>en</strong>e materi<strong>al</strong> diseñado para dar a los estudiantes un<br />

conocimi<strong>en</strong>to <strong>de</strong> LabVIEW <strong>en</strong> un tiempo <strong>de</strong> 6 <strong>horas</strong>. Los cont<strong>en</strong>idos son:<br />

Notas <strong>de</strong>l Instructor.doc este docum<strong>en</strong>to.<br />

<strong>Introducción</strong> LabVIEW Seis Horas.ppt una pres<strong>en</strong>tación PowerPoint<br />

cont<strong>en</strong>i<strong>en</strong>do notas y diapositivas <strong>de</strong> los temas cubiertos <strong>en</strong> el <strong>curso</strong>.<br />

Ej0- Abrir y Correr un Instrum<strong>en</strong>to Virtu<strong>al</strong>.doc instrucciones paso a paso para<br />

el ejercicio abrir y correr .<br />

Ex1- Conversión C a F.doc instrucciones paso a paso para el Ejercicio 1.<br />

Conversión C a F (Ej1).vi VI <strong>de</strong> Solución <strong>al</strong> ejercicio 1.<br />

Ej2a- Crear un SubVI.doc instrucciones paso a paso para Ejercicio 2a.<br />

Conversión C a F (Ej2).vi subVI <strong>de</strong> solución <strong>al</strong> Ejercicio 2.<br />

Ej2b- Adquisición <strong>de</strong> Datos.doc instrucciones paso a paso para el Ejercicio 2b.<br />

Adquisición <strong>de</strong> Datos (Ej 2b) NI-DAQ Tradicion<strong>al</strong>.vi Solución para Ejercicio 2.<br />

Ej3-Usar un Ciclo.doc instrucciones paso a paso para el ejercicio 3.<br />

Ejemplo <strong>de</strong> Ciclo (Ej3).vi VI <strong>de</strong> solución <strong>al</strong> ejercicio 3.<br />

Ej4-An<strong>al</strong>izando y Logging Data.doc instrucciones para el Ejercicio 4.<br />

Logger <strong>de</strong> Temperatura (Ej4).vi subVI <strong>de</strong> solución para el ejercicio 4.<br />

Convertir C a F (Ej4).vi subVI <strong>de</strong> solución para el ejercicio 4.<br />

Logger <strong>de</strong> Temperatura (Ej4).vi . VI <strong>de</strong> solución para Ejercicio 4.<br />

Ej5-Usando Graficas <strong>de</strong> Forma <strong>de</strong> Onda.doc instrucciones paso a paso para el<br />

Ejercicio 5.<br />

Grafica Multiplot (Ej5).vi VI <strong>de</strong> solución <strong>de</strong>l Ejercicio 5<br />

Ej6-Clusters para Error.doc . instrucciones paso a paso para el Ejercicio 6<br />

Raiz Cuadrada (Ex6).vi . VI <strong>de</strong> solución para Ejercicio 6.<br />

Ej7-Maquinas <strong>de</strong> Estado Simples.doc instrucciones paso a paso - Ejercicio 7.<br />

Maquina <strong>de</strong> Estado (Ej7).vi VI <strong>de</strong> solución para el Ejercicio 7.<br />

Las diapositivas pue<strong>de</strong>n ser pres<strong>en</strong>tadas <strong>en</strong> dos laboratorios <strong>de</strong> tres <strong>horas</strong> o seis clases<br />

<strong>de</strong> una hora cada una. Dep<strong>en</strong>di<strong>en</strong>do <strong>en</strong> el tiempo y los re<strong>curso</strong>s disponibles <strong>en</strong> la clase,<br />

usted pue<strong>de</strong> elegir si asigna o no los ejercicios como tarea para llevar o para ser hechos<br />

<strong>en</strong> clase. Si usted <strong>de</strong>ci<strong>de</strong> asignar los ejercicios <strong>en</strong> la clase, es mejor asignarlos <strong>en</strong> or<strong>de</strong>n<br />

con la pres<strong>en</strong>tación. De esta manera los estudiantes pue<strong>de</strong>n crear VIs mi<strong>en</strong>tras que la<br />

información relevante todavía esta fresca. Las notas asociadas con las diapositivas<br />

cont<strong>en</strong>i<strong>en</strong>do ejercicios <strong>de</strong>berían <strong>de</strong> ser <strong>de</strong>fici<strong>en</strong>tes para guiar a los estudiantes a una<br />

solución. Los archivos <strong>de</strong> solución incluidos son una <strong>de</strong> las posibles soluciones, pero no<br />

significa que sean la única solución.<br />

La instrucción paso a paso provee <strong>al</strong> estudiante con una manera fácil <strong>de</strong> completar el<br />

ejercicio, pero si usted <strong>de</strong>ci<strong>de</strong> asignar los ejercicios afuera <strong>de</strong>l s<strong>al</strong>ón <strong>de</strong> clases, usted<br />

pue<strong>de</strong> <strong>en</strong>contrar útil el imprimir las direcciones abreviadas <strong>de</strong> la diapositiva <strong>de</strong> ejercicio<br />

y dársela a los estudiantes como una asignación.<br />

Los ejercicios pue<strong>de</strong>n ser <strong>en</strong>viados a un ev<strong>al</strong>uador via email.


Esta es una lista <strong>de</strong> los objetivos <strong>de</strong>l <strong>curso</strong><br />

Este <strong>curso</strong> le preparara para lo sigui<strong>en</strong>te:<br />

Utilizar LabVIEW para crear aplicaciones.<br />

Ent<strong>en</strong><strong>de</strong>r paneles front<strong>al</strong>es, diagramas <strong>de</strong> bloque, íconos y paneles <strong>de</strong> conexión.<br />

Incorporación <strong>de</strong> funciones <strong>de</strong> LabVIEW.<br />

Crear y guardar programas <strong>en</strong> LabVIEW para que los pueda usar como<br />

subrutinas.<br />

Crear aplicaciones que us<strong>en</strong> dispositivos DAQ.<br />

Este <strong>curso</strong> no <strong>de</strong>scribe lo sigui<strong>en</strong>te:<br />

Teoría <strong>de</strong> programación<br />

Cada función u objeto <strong>en</strong>contrada <strong>en</strong> LabVIEW.<br />

Teoría análoga-a-digit<strong>al</strong> (A/D)<br />

2


Panel front<strong>al</strong><br />

Controles = <strong>en</strong>tradas<br />

Indicadores = s<strong>al</strong>idas<br />

Diagrama <strong>de</strong> bloque<br />

Programa <strong>de</strong> acompañami<strong>en</strong>to<br />

para el panel front<strong>al</strong><br />

Compon<strong>en</strong>tes cableados<br />

<strong>en</strong>tre si<br />

Los Programas <strong>en</strong> LabVIEW son llamados instrum<strong>en</strong>tos virtu<strong>al</strong>es (VIs).<br />

Haga énfasis <strong>en</strong> que controles es igu<strong>al</strong> a <strong>en</strong>tradas, e indicadores es igu<strong>al</strong> a s<strong>al</strong>idas.<br />

Cada VI conti<strong>en</strong>e tres partes princip<strong>al</strong>es:<br />

Panel front<strong>al</strong> Cómo el usuario interacciona con el VI.<br />

Diagrama <strong>de</strong> bloque El código que controla el programa.<br />

Icono/Conector Medios para conectar un VI con otros VIs.<br />

El panel front<strong>al</strong> es utilizado para interaccionar con el usuario cuando el programa<br />

esta corri<strong>en</strong>do. Usuarios pue<strong>de</strong>n controlar el programa,cambiar <strong>en</strong>tradas, y ver<br />

datos actu<strong>al</strong>izados <strong>en</strong> tiempo re<strong>al</strong>. Haga énfasis <strong>en</strong> que los controles son usados<br />

como <strong>en</strong>tradas - ajustando controles <strong>de</strong> <strong>de</strong>slizami<strong>en</strong>to para colocar un v<strong>al</strong>or <strong>de</strong><br />

<strong>al</strong>arma, <strong>en</strong>c<strong>en</strong>di<strong>en</strong>do o apagando un switch, o parando un programa. Los<br />

indicadores son usados como s<strong>al</strong>idas. Termómetros, luces, y otros indicadores<br />

indican v<strong>al</strong>ores <strong>de</strong>l programa. Esto pue<strong>de</strong> incluir datos, estados <strong>de</strong> programa y<br />

otra información.<br />

Cada control o indicador <strong>de</strong>l panel front<strong>al</strong> ti<strong>en</strong>e una termin<strong>al</strong> correspondi<strong>en</strong>te <strong>en</strong> el<br />

diagrama <strong>de</strong> bloques. Cuando un VI se ejecuta, los v<strong>al</strong>ores <strong>de</strong> los controles<br />

fluy<strong>en</strong> a través <strong>de</strong>l diagrama <strong>de</strong> bloques, <strong>en</strong> don<strong>de</strong> estos son usados <strong>en</strong> las<br />

funciones <strong>de</strong>l diagrama, y los resultados son pasados a otras funciones o<br />

indicadores.<br />

4


El panel front<strong>al</strong> es la interfase <strong>de</strong>l usuario con el VI. Usted construye el panel<br />

front<strong>al</strong> con controles e indicadores,que son las <strong>en</strong>tradas y s<strong>al</strong>idas que interactúan<br />

con las termin<strong>al</strong>es <strong>de</strong>l VI, respectivam<strong>en</strong>te. Los controles son botones, botones <strong>de</strong><br />

empuje, marcadores y otro compon<strong>en</strong>tes <strong>de</strong> <strong>en</strong>tradas. Los indicadores son las<br />

graficas, luces y otros dispositivos. Los controles simulan instrum<strong>en</strong>tos <strong>de</strong> <strong>en</strong>tradas<br />

<strong>de</strong> equipos y suministra datos <strong>al</strong> diagrama <strong>de</strong> bloques <strong>de</strong>l VI. Los indicadores<br />

simulan s<strong>al</strong>idas <strong>de</strong> instrum<strong>en</strong>tos y suministra datos que el diagrama <strong>de</strong> bloques<br />

adquiere o g<strong>en</strong>era.<br />

En esta imag<strong>en</strong>, el switch <strong>de</strong> po<strong>de</strong>r (<strong>en</strong>c<strong>en</strong>dido o apagado) es un control booleano.<br />

Un v<strong>al</strong>or booleano conti<strong>en</strong>e ambos un v<strong>al</strong>or verda<strong>de</strong>ro o f<strong>al</strong>so. El v<strong>al</strong>or es f<strong>al</strong>so<br />

hasta que el switch se presione.Cuando el switch se presiona, el v<strong>al</strong>or se convierte<br />

<strong>en</strong> verda<strong>de</strong>ro. El indicador <strong>de</strong>l histori<strong>al</strong> <strong>de</strong> temperatura es una grafica <strong>de</strong> forma <strong>de</strong><br />

onda. Esta muestra v<strong>al</strong>ores múltiples. En este caso, la grafica señ<strong>al</strong>ara grados F<br />

versus tiempo (seg.).<br />

El panel front<strong>al</strong> también conti<strong>en</strong>e una barra <strong>de</strong> herrami<strong>en</strong>tas, y sus funciones serán<br />

discutidas <strong>de</strong>spués.<br />

5


El diagrama <strong>de</strong> bloque conti<strong>en</strong>e el código fu<strong>en</strong>te grafico. Los objetos <strong>de</strong>l panel<br />

front<strong>al</strong> aparec<strong>en</strong> como termin<strong>al</strong>es <strong>en</strong> el diagrama <strong>de</strong> bloque. Adicion<strong>al</strong>m<strong>en</strong>te, el<br />

diagrama <strong>de</strong> bloque conti<strong>en</strong>e funciones y estructuras incorporadas <strong>en</strong> las bibliotecas<br />

<strong>de</strong> LabVIEW VI. Los cables conectan cada uno <strong>de</strong> los nodos <strong>en</strong> el diagrama <strong>de</strong><br />

bloques, incluy<strong>en</strong>do controles e indicadores <strong>de</strong> termin<strong>al</strong>, funciones y estructuras.<br />

En este diagrama <strong>de</strong> bloque, el subVI Temp llama a la subrutina la cu<strong>al</strong> obti<strong>en</strong>e una<br />

temperatura <strong>de</strong>s<strong>de</strong> una tarjeta <strong>de</strong> adquisición <strong>de</strong> datos (DAQ). Esta temperatura es<br />

graficada junto con el v<strong>al</strong>or average <strong>de</strong> la temperatura <strong>en</strong> la grafica <strong>de</strong> forma <strong>de</strong><br />

onda Temperature History. El switch <strong>de</strong> po<strong>de</strong>r (Power) es un control booleano <strong>en</strong><br />

el panel front<strong>al</strong> el cu<strong>al</strong> va a <strong>de</strong>t<strong>en</strong>er la ejecución <strong>de</strong> la estructura mi<strong>en</strong>tras( While<br />

Loop). La estructura mi<strong>en</strong>tras (While Loop) también conti<strong>en</strong>e una función <strong>de</strong><br />

tiempo para controlar que tan frecu<strong>en</strong>tem<strong>en</strong>te la estructura se repite.<br />

6


VI Expreso<br />

VI Estandar<br />

Funcion<br />

LabVIEW 7.0 introduce un nuevo tipo <strong>de</strong> subVI llamado VIs Expreso (Express<br />

VIS). Estos son VIs interactivos que ti<strong>en</strong><strong>en</strong> una configuración <strong>de</strong> caja <strong>de</strong> di<strong>al</strong>ogo<br />

que permite <strong>al</strong> usuario person<strong>al</strong>izar la funcion<strong>al</strong>idad <strong>de</strong>l VI Expreso. LabVIEW<br />

<strong>en</strong>tonces g<strong>en</strong>era una subVI basado <strong>en</strong> estos argum<strong>en</strong>tos.<br />

VIs estándar son aquellos VIs (que consist<strong>en</strong> <strong>de</strong> un panel front<strong>al</strong> y un diagrama <strong>de</strong><br />

bloque) que son usados a<strong>de</strong>ntro <strong>de</strong> otro VI.<br />

Las funciones son los bloques <strong>de</strong> construcción <strong>de</strong> todos los VIs. Las funciones no<br />

ti<strong>en</strong><strong>en</strong> un panel front<strong>al</strong> o un diagrama <strong>de</strong> bloque.<br />

7


P<strong>al</strong>etas <strong>de</strong> control<br />

(V<strong>en</strong>tana <strong>de</strong>l panel front<strong>al</strong>)<br />

P<strong>al</strong>eta <strong>de</strong> funciones<br />

(V<strong>en</strong>tana <strong>de</strong> diagrama <strong>de</strong> bloque)<br />

Use la p<strong>al</strong>eta <strong>de</strong> controles (Controls) para colocar los controles e indicadores <strong>en</strong> el<br />

panel front<strong>al</strong>. La p<strong>al</strong>eta <strong>de</strong> controles esta disponible solam<strong>en</strong>te <strong>en</strong> el panel front<strong>al</strong>.<br />

Seleccione Window»Show Controls p<strong>al</strong>ette o haga clic <strong>de</strong>recho <strong>en</strong> el espacio <strong>de</strong><br />

trabajo <strong>en</strong> el panel front<strong>al</strong> para <strong>de</strong>splegar la p<strong>al</strong>eta <strong>de</strong> controles. Usted también<br />

pue<strong>de</strong> <strong>de</strong>splegar la p<strong>al</strong>eta <strong>de</strong> controles haci<strong>en</strong>do un clic <strong>de</strong>recho <strong>en</strong> una área abierta<br />

<strong>de</strong>l panel front<strong>al</strong>. Para <strong>de</strong>saparecer la p<strong>al</strong>eta <strong>de</strong> controles presione el botón <strong>en</strong> la<br />

parte superior izquierda <strong>de</strong> la p<strong>al</strong>eta.<br />

Use la p<strong>al</strong>eta <strong>de</strong> funciones (Functions), para construir un diagrama <strong>de</strong> bloque. La<br />

p<strong>al</strong>eta <strong>de</strong> funciones esta disponible solam<strong>en</strong>te <strong>en</strong> el diagrama <strong>de</strong> bloque. Seleccione<br />

Window»Show Functions P<strong>al</strong>ette o haga un click <strong>de</strong>recho <strong>en</strong> el espacio <strong>de</strong> trabajo<br />

<strong>de</strong>l diagrama <strong>de</strong> bloque para <strong>de</strong>splegar la p<strong>al</strong>eta <strong>de</strong> funciones. Usted también pue<strong>de</strong><br />

<strong>de</strong>splegar la p<strong>al</strong>eta <strong>de</strong> funciones dando un click <strong>de</strong>recho <strong>en</strong> una área abierta <strong>de</strong>l<br />

diagrama <strong>de</strong> bloques. Para <strong>de</strong>saparecer la p<strong>al</strong>eta <strong>de</strong> funciones presione el botón <strong>en</strong> la<br />

parte superior izquierda <strong>de</strong> la p<strong>al</strong>eta.<br />

8


P<strong>al</strong>eta flotante<br />

Utilizado para operar y modificar<br />

objetos <strong>en</strong> el panel front<strong>al</strong> y <strong>en</strong> el<br />

diagrama <strong>de</strong> bloques.<br />

Herrami<strong>en</strong>ta <strong>de</strong> operación<br />

Herrami<strong>en</strong>ta <strong>de</strong> posicionami<strong>en</strong>to<br />

y redim<strong>en</strong>sión<br />

Herrami<strong>en</strong>ta <strong>de</strong> etiquetado<br />

Herrami<strong>en</strong>ta <strong>de</strong> cableado<br />

Herrami<strong>en</strong>ta <strong>de</strong> m<strong>en</strong>ú (atajo)<br />

Herrami<strong>en</strong>ta <strong>de</strong> selección automatica<br />

Herrami<strong>en</strong>ta <strong>de</strong> <strong>de</strong>splazami<strong>en</strong>to<br />

Herrami<strong>en</strong>ta <strong>de</strong> punto <strong>de</strong> paro<br />

Herrami<strong>en</strong>ta <strong>de</strong> prueba<br />

Herrami<strong>en</strong>ta para copia <strong>de</strong> color<br />

Herrami<strong>en</strong>ta para colorear<br />

Si la herrami<strong>en</strong>ta <strong>de</strong> selección automática esta habilitada y usted mueve el <strong>curso</strong>r<br />

sobre un objeto <strong>en</strong> el panel front<strong>al</strong> o <strong>en</strong> el diagrama <strong>de</strong> bloque, LabVIEW<br />

automáticam<strong>en</strong>te selecciona la herrami<strong>en</strong>ta correspondi<strong>en</strong>te <strong>de</strong> la p<strong>al</strong>eta <strong>de</strong><br />

controles. Cambie a la herrami<strong>en</strong>ta <strong>de</strong> selección automática tecleando el botón <strong>de</strong><br />

Selección <strong>de</strong> Herrami<strong>en</strong>ta Automática <strong>en</strong> la p<strong>al</strong>eta <strong>de</strong> Herrami<strong>en</strong>tas.<br />

Utilice la herrami<strong>en</strong>ta <strong>de</strong> operación para cambiar v<strong>al</strong>ores o para seleccionar texto <strong>de</strong><br />

un control.<br />

Utilice la herrami<strong>en</strong>ta <strong>de</strong> posicionami<strong>en</strong>to para seleccionar, mover o redim<strong>en</strong>sionar<br />

objetos. La herrami<strong>en</strong>ta <strong>de</strong> posicionami<strong>en</strong>to cambia las formas cuando se mueve<br />

sobre una esquina <strong>de</strong> un objeto reajustable.<br />

Utilice la herrami<strong>en</strong>ta <strong>de</strong> etiquetado para editar textos y crear etiquetas libres. La<br />

herrami<strong>en</strong>ta <strong>de</strong> etiquetado se convierte <strong>en</strong> <strong>curso</strong>r cuando usted crea etiquetas libres.<br />

Utilice la herrami<strong>en</strong>ta <strong>de</strong> cableado para cablear objetos juntos <strong>en</strong> el diagrama <strong>de</strong><br />

bloque.<br />

9


Botón <strong>de</strong> ejecución (Run)<br />

Botón <strong>de</strong> ejecución continua<br />

(Continuous Run)<br />

Cancelación <strong>de</strong> ejecución<br />

(Abort Execution)<br />

Botón <strong>de</strong> pausa/continuación<br />

Configuración <strong>de</strong> textos<br />

(Text Settings)<br />

Alineami<strong>en</strong>to <strong>de</strong> objetos<br />

(Align Objects)<br />

Distribución <strong>de</strong> objetos<br />

(Distribute Objects)<br />

Reor<strong>de</strong>nami<strong>en</strong>to<br />

Redim<strong>en</strong>sionami<strong>en</strong>to <strong>de</strong> objetos<br />

<strong>de</strong> panel front<strong>al</strong> (Resize Objects)<br />

Botones adicion<strong>al</strong>es <strong>en</strong><br />

el diagrama <strong>de</strong> la barra<br />

<strong>de</strong> herrami<strong>en</strong>tas<br />

Botón <strong>de</strong> ejecución res<strong>al</strong>tada<br />

(Highlight Execution)<br />

Botón <strong>de</strong> <strong>en</strong>trada <strong>al</strong> ciclo<br />

(Step Into)<br />

Botón sobre (Step Over)<br />

Botón <strong>de</strong> s<strong>al</strong>ida <strong>de</strong>l ciclo<br />

(Step Out)<br />

Pulse el botón <strong>de</strong> ejecución (Run) para ejecutar el VI. Mi<strong>en</strong>tras el VI se esta<br />

ejecutando, el botón <strong>de</strong> ejecución aparecerá con una flecha negra si es que el VI es<br />

un VI princip<strong>al</strong>, lo que significa que no ha sido llamado por otro VI y por lo tanto<br />

este no es un subVI.<br />

Pulse el botón <strong>de</strong> ejecución continua (Continuous Run) para ejecutar el VI hasta<br />

que el botón <strong>de</strong> cancelación <strong>de</strong> ejecución o <strong>de</strong> pausa sea presionado. Usted también<br />

pue<strong>de</strong> pulsar este botón nuevam<strong>en</strong>te para <strong>de</strong>shabilitar la ejecución continua.<br />

Mi<strong>en</strong>tras el VI se esta ejecutando, El botón <strong>de</strong> cancelación <strong>de</strong> ejecución (Abort<br />

Execution) aparece. Presione este botón para <strong>de</strong>t<strong>en</strong>er el VI inmediatam<strong>en</strong>te.<br />

Nota: Evite usar el botón <strong>de</strong> cancelación <strong>de</strong> ejecución (Abort<br />

Execution) para <strong>de</strong>t<strong>en</strong>er el VI. Ya sea <strong>de</strong>je que el VI complete su flujo <strong>de</strong> datos<br />

o diseñe un método para <strong>de</strong>t<strong>en</strong>er el VI programáticam<strong>en</strong>te. Al hacer esto el VI se<br />

<strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> un estado conocido. Por ejemplo, coloque un botón <strong>en</strong> el panel<br />

front<strong>al</strong> que <strong>de</strong>t<strong>en</strong>ga el VI cuando sea presionado.<br />

Pulse el botón <strong>de</strong> pausa (Pause) para <strong>de</strong>t<strong>en</strong>er mom<strong>en</strong>táneam<strong>en</strong>te la ejecución <strong>de</strong> un<br />

VI. Cuando usted presiona el botón <strong>de</strong> Pausa, LabVIEW señ<strong>al</strong>a la posición don<strong>de</strong><br />

usted <strong>de</strong>tuvo la ejecución <strong>en</strong> el diagrama <strong>de</strong> bloque. Pulse el botón <strong>de</strong> Pausa<br />

nuevam<strong>en</strong>te para que el VI continué ejecutándose.<br />

Seleccione el m<strong>en</strong>ú Configuración <strong>de</strong> Textos (Text Settings) para cambiar el tipo<br />

<strong>de</strong> fu<strong>en</strong>te (letra) <strong>de</strong>l VI, incluy<strong>en</strong>do el tamaño, estilo y color.<br />

Seleccione el m<strong>en</strong>ú Alineami<strong>en</strong>to <strong>de</strong> Objetos (Align Objects) para <strong>al</strong>inear<br />

objetos con respecto a los ejes, incluy<strong>en</strong>do eje vertic<strong>al</strong>, superior, izquierdo, etc.<br />

Seleccione el m<strong>en</strong>ú Distribución <strong>de</strong> Objetos (Distribute Objects) para espaciar<br />

objetos uniformem<strong>en</strong>te, incluy<strong>en</strong>do espacios vacíos, compresiones, etc.<br />

Seleccione el Redim<strong>en</strong>sionami<strong>en</strong>to <strong>de</strong> Objetos (Resize Objects) para cambiar el<br />

10


Seleccione el m<strong>en</strong>ú Reor<strong>de</strong>nami<strong>en</strong>to (Reor<strong>de</strong>r) cuando t<strong>en</strong>ga objetos<br />

superpuestos unos con otros y usted quiera <strong>de</strong>finir cu<strong>al</strong> esta <strong>en</strong>fr<strong>en</strong>te <strong>de</strong> qui<strong>en</strong> y cu<strong>al</strong><br />

atrás. Seleccione uno <strong>de</strong> los objetos con la herrami<strong>en</strong>ta <strong>de</strong> posicionami<strong>en</strong>to y<br />

seleccione <strong>en</strong>tre Move Forward (mover hacia a<strong>de</strong>lante), Move Backward (mover<br />

hacia atrás), Move to Front (mover <strong>al</strong> fr<strong>en</strong>te) y Move to Back (mover hacia atrás).<br />

<br />

Pulse <strong>en</strong> el botón <strong>de</strong> ejecución res<strong>al</strong>tada (Highlight Execution) para ver el flujo <strong>de</strong><br />

información <strong>en</strong> el diagrama <strong>de</strong> bloques. Pulse el botón nuevam<strong>en</strong>te para <strong>de</strong>t<strong>en</strong>er<br />

este tipo <strong>de</strong> ejecución res<strong>al</strong>tada.<br />

Pulse el botón <strong>de</strong> <strong>en</strong>trada <strong>al</strong> ciclo (Step Into) para <strong>en</strong>trar un paso a<strong>de</strong>ntro <strong>de</strong> un<br />

ciclo, un SubVI, etc. Entrando un paso a la vez a<strong>de</strong>ntro <strong>de</strong> un VI le permite<br />

introducirse <strong>en</strong> la VI nodo a nodo. Cada nodo se res<strong>al</strong>ta para señ<strong>al</strong>ar cuando esta<br />

listo para ejecutarse. Al <strong>en</strong>trar un paso a<strong>de</strong>ntro <strong>de</strong> un nodo usted esta listo para<br />

caminar paso a paso a<strong>de</strong>ntro <strong>de</strong>l nodo.<br />

Pulse el botón <strong>de</strong> sobre (Step Over) para posicionarse <strong>en</strong>cima <strong>de</strong> un ciclo, un<br />

SubVI, etc. Al posicionarse <strong>en</strong>cima <strong>de</strong>l nodo, usted ejecuta el nodo sin <strong>en</strong>trar paso a<br />

paso a<strong>de</strong>ntro <strong>de</strong>l nodo.<br />

Pulse el botón <strong>de</strong> S<strong>al</strong>ida <strong>de</strong>l ciclo (Step Over) para s<strong>al</strong>irse <strong>de</strong> un ciclo, SubVI, etc.<br />

Al posicionarse fuera <strong>de</strong>l nodo, usted completa la ejecución <strong>de</strong> un nodo y pue<strong>de</strong><br />

moverse <strong>al</strong> sigui<strong>en</strong>te nodo.<br />

11


Buscador <strong>de</strong> Ejemplos<br />

1. Seleccione Start » Programs » Nation<strong>al</strong> Instrum<strong>en</strong>ts » LabVIEW 7.0 »<br />

LabVIEW para lanzar LabVIEW. Aparece la v<strong>en</strong>tana <strong>de</strong> di<strong>al</strong>ogo <strong>de</strong> LabVIEW.<br />

2. Seleccione Find Examples <strong>de</strong>l m<strong>en</strong>ú <strong>de</strong> ayuda (Help). La v<strong>en</strong>tana <strong>de</strong> di<strong>al</strong>ogo que<br />

aparece da la lista y <strong>en</strong>laces a todos los VIs <strong>de</strong> ejemplo <strong>de</strong> LabVIEW.<br />

3. Usted pue<strong>de</strong> buscar ejemplo por categorías, o pue<strong>de</strong> utilizar p<strong>al</strong>abras claves <strong>en</strong> su<br />

búsqueda. Haga clic <strong>en</strong> la viñeta <strong>de</strong> búsqueda (Search) para abrir el buscador <strong>de</strong><br />

p<strong>al</strong>abras claves.<br />

4. En la caja <strong>de</strong> Enter Keyword(s) escriba Sign<strong>al</strong><br />

5. Una lista <strong>de</strong> temas relacionados aparecerá <strong>en</strong> la v<strong>en</strong>tana <strong>de</strong> ejemplos (examples).<br />

Haga doble-clic <strong>en</strong> sign<strong>al</strong>s, esto g<strong>en</strong>erara una lista <strong>de</strong> ejemplos <strong>en</strong> el lado <strong>de</strong>recho.<br />

6. Haga clic <strong>en</strong> cu<strong>al</strong>quier programa para ver una <strong>de</strong>scripción <strong>de</strong>t<strong>al</strong>lada <strong>de</strong> el<br />

ejemplo. Haga doble clic sobre Sign<strong>al</strong> G<strong>en</strong>eration and Processing.vi para lanzar el<br />

ejemplo.<br />

Esto abrirá el panel front<strong>al</strong> <strong>de</strong>l VI Sign<strong>al</strong> G<strong>en</strong>eration and Processing.vi .<br />

Examine el VI y ejecútelo. Cambie las frecu<strong>en</strong>cias y tipos <strong>de</strong> señ<strong>al</strong>es <strong>de</strong> <strong>en</strong>tradas y<br />

note como el <strong>de</strong>spliegue <strong>de</strong> las graficas cambia. Cambie la v<strong>en</strong>tana <strong>de</strong><br />

procesami<strong>en</strong>to <strong>de</strong> señ<strong>al</strong>es (Sign<strong>al</strong> Processing Window) y opciones <strong>de</strong> filtrado (Filter<br />

options). Después <strong>de</strong> que haya examinado el VI y las difer<strong>en</strong>tes opciones que pue<strong>de</strong><br />

cambiar, pare el VI presionando el botón <strong>de</strong> paro (Stop button).<br />

Nota Usted también pue<strong>de</strong> abrir un VI <strong>al</strong> hacer clic <strong>en</strong> el botón <strong>de</strong> Op<strong>en</strong> VI y<br />

navegar a labview\examples\apps\<strong>de</strong>mos.llb\Sign<strong>al</strong> G<strong>en</strong>eration and Processing.vi.<br />

12


V<strong>en</strong>tana <strong>de</strong> Panel Front<strong>al</strong><br />

Termin<strong>al</strong>es<br />

<strong>de</strong><br />

Control<br />

V<strong>en</strong>tana <strong>de</strong> Diagrama <strong>de</strong> Bloques<br />

Termin<strong>al</strong>es<br />

<strong>de</strong><br />

Indicador<br />

Cuando usted crea un objeto <strong>en</strong> el panel front<strong>al</strong>, una termin<strong>al</strong> es creada <strong>en</strong> el<br />

diagrama <strong>de</strong> bloques. Estas termin<strong>al</strong>es le dan acceso a los objetos <strong>de</strong>l panel front<strong>al</strong><br />

<strong>de</strong>l código creado mediante el diagrama <strong>de</strong> bloque.<br />

Cada termin<strong>al</strong> conti<strong>en</strong>e información útil refer<strong>en</strong>te <strong>al</strong> objeto <strong>al</strong> cu<strong>al</strong> correspon<strong>de</strong> <strong>en</strong> el<br />

panel front<strong>al</strong>. Por ejemplo, el color y los símbolos proporcionan el tipo <strong>de</strong> dato.<br />

Números <strong>de</strong> punto flotante y <strong>de</strong> doble-precisión, son repres<strong>en</strong>tados con termin<strong>al</strong>es<br />

anaranjadas y las letras DBL. Las termin<strong>al</strong>es booleanas son ver<strong>de</strong>s y son<br />

repres<strong>en</strong>tadas por las letras TF.<br />

En g<strong>en</strong>er<strong>al</strong>, las termin<strong>al</strong>es anaranjadas <strong>de</strong>b<strong>en</strong> unirse (cablearse) con las termin<strong>al</strong>es<br />

anaranjadas, ver<strong>de</strong>s con ver<strong>de</strong>s, y así sucesivam<strong>en</strong>te. Esta no es una regla que no se<br />

pue<strong>de</strong> romper; por ejemplo LabVIEW permitirá <strong>al</strong> usuario conectar una termin<strong>al</strong><br />

azul (v<strong>al</strong>or <strong>en</strong>tero) a una termin<strong>al</strong> anaranjada (v<strong>al</strong>or fraccion<strong>al</strong>). Pero <strong>en</strong> la mayoría<br />

<strong>de</strong> casos, busque mejor una igu<strong>al</strong>dad <strong>en</strong> colores.<br />

Los controles ti<strong>en</strong><strong>en</strong> una flecha <strong>en</strong> el lado <strong>de</strong>recho y ti<strong>en</strong><strong>en</strong> un bor<strong>de</strong> grueso. Los<br />

indicadores ti<strong>en</strong><strong>en</strong> una flecha <strong>en</strong> el lado izquierdo y un bor<strong>de</strong> fino. Reglas lógicas<br />

pue<strong>de</strong>n ser aplicadas <strong>al</strong> conectar <strong>en</strong> LabVIEW: Cada cable <strong>de</strong>be t<strong>en</strong>er una (pero<br />

solo una) fu<strong>en</strong>te (o control), y cada cable pue<strong>de</strong> t<strong>en</strong>er varios <strong>de</strong>stinos (o<br />

indicadores).<br />

El programa <strong>en</strong> esta diapositiva toma datos <strong>de</strong> A y B y pasa v<strong>al</strong>ores a una función<br />

<strong>de</strong> adición y a una función <strong>de</strong> resta. Los resultados son mostrados <strong>en</strong> los indicadores<br />

apropiados.<br />

13


A<strong>de</strong>más <strong>de</strong> los termin<strong>al</strong>es <strong>de</strong>l panel front<strong>al</strong>, el diagrama <strong>de</strong> bloques conti<strong>en</strong>e<br />

funciones. Cada función pue<strong>de</strong> t<strong>en</strong>er múltiples termin<strong>al</strong>es <strong>de</strong> <strong>en</strong>tradas y s<strong>al</strong>idas. La<br />

conexión <strong>de</strong> estas termin<strong>al</strong>es es una parte muy importante <strong>de</strong> la programación <strong>en</strong><br />

LabVIEW.<br />

Una vez que usted t<strong>en</strong>ga cierta experi<strong>en</strong>cia programado <strong>en</strong> LabVIEW, la conexión<br />

<strong>de</strong> cables se le hará mas fácil. Primero pue<strong>de</strong> que necesite ayuda. En seguida se le<br />

muestra <strong>al</strong>gunas recom<strong>en</strong>daciones para com<strong>en</strong>zar:<br />

La herrami<strong>en</strong>ta para conectar o <strong>de</strong> cableado es utilizada para conectarse a los<br />

nodos <strong>de</strong> las funciones. Cuando usted apunte con la herrami<strong>en</strong>ta <strong>de</strong> cableado,<br />

apunte con el extremo <strong>de</strong>l cable que cuelga <strong>de</strong>l carrete. Aquí es don<strong>de</strong> el cable sera<br />

colocado.<br />

Mi<strong>en</strong>tras usted mueve la herrami<strong>en</strong>ta <strong>de</strong> cableado sobre las funciones, observe la<br />

viñeta amarilla que aparece. Esto le dirá el nombre <strong>de</strong> la termin<strong>al</strong> <strong>al</strong> que se esta<br />

conectando.<br />

Mi<strong>en</strong>tras usted mueva la herrami<strong>en</strong>ta <strong>de</strong> cableado <strong>en</strong>cima <strong>de</strong> una termin<strong>al</strong>, esta va a<br />

mostrar información. Esto le ayudara a i<strong>de</strong>ntificar don<strong>de</strong> se va a unir el cable.<br />

Para mas ayuda con los termin<strong>al</strong>es, haga clic <strong>de</strong>recho <strong>en</strong> la función y seleccione<br />

Visible Items o Objetos Visibles>>Termin<strong>al</strong>s o Termin<strong>al</strong>es. Un dibujo <strong>de</strong> la<br />

función será colocada atrás para revelar las termin<strong>al</strong>es <strong>de</strong> la conexión. Note los<br />

colores - estos correspon<strong>de</strong>n a los tipos <strong>de</strong> datos utilizados por los termin<strong>al</strong>es <strong>de</strong>l<br />

panel front<strong>al</strong>.<br />

Para ayuda adicion<strong>al</strong>, seleccione Help >> Show Context Help, o presione<br />

CTRL+H. Esto mostrara la v<strong>en</strong>tana <strong>de</strong> ayuda <strong>en</strong> contexto. A medida que uno<br />

mueva el raton (mouse) sobre la función, esta v<strong>en</strong>tana le mostrara la función,<br />

termin<strong>al</strong>es, y una breve <strong>de</strong>scripción. Utilice esto junto con otras herrami<strong>en</strong>tas para<br />

14


Punto C<strong>al</strong>i<strong>en</strong>te <strong>de</strong> Cableado<br />

Utilice la Ruta Automática<br />

<strong>de</strong>l Cable<br />

Haga Clic para Seleccionar los Cables<br />

Limpiando el Cableado<br />

A<strong>de</strong>más <strong>de</strong> las termin<strong>al</strong>es <strong>de</strong>l panel front<strong>al</strong>. El diagrama <strong>de</strong> bloque conti<strong>en</strong>e funciones. Cada función<br />

pue<strong>de</strong> t<strong>en</strong>er múltiples termin<strong>al</strong>es <strong>de</strong> <strong>en</strong>tradas y s<strong>al</strong>idas. La conexión <strong>de</strong> estas termin<strong>al</strong>es es<br />

una parte muy importante <strong>de</strong> la programación <strong>en</strong> LabVIEW.<br />

Una vez que usted t<strong>en</strong>ga cierta experi<strong>en</strong>cia programado <strong>en</strong> LabVIEW, la conexión <strong>de</strong> cables se le<br />

hará mas fácil. Primero pue<strong>de</strong> que necesite ayuda. En seguida se le muestra <strong>al</strong>gunas<br />

recom<strong>en</strong>daciones para com<strong>en</strong>zar:<br />

La herrami<strong>en</strong>ta para conectar o <strong>de</strong> cableado es utilizada para conectarse a los nodos <strong>de</strong> las<br />

funciones. Cuando usted apunte con la herrami<strong>en</strong>ta <strong>de</strong> cableado, apunte con el extremo <strong>de</strong>l cable<br />

que cuelga <strong>de</strong>l carrete. Aquí es don<strong>de</strong> el cable sera colocado.<br />

Mi<strong>en</strong>tras usted mueve la herrami<strong>en</strong>ta <strong>de</strong> cableado sobre las funciones, observe la viñeta amarilla<br />

que aparece. Esto le dirá el nombre <strong>de</strong> la termin<strong>al</strong> <strong>al</strong> que se esta conectando.<br />

Mi<strong>en</strong>tras usted mueva la herrami<strong>en</strong>ta <strong>de</strong> cableado <strong>en</strong>cima <strong>de</strong> una termin<strong>al</strong>, esta va a mostrar<br />

información. Esto le ayudara a i<strong>de</strong>ntificar don<strong>de</strong> se va a unir el cable.<br />

Para mas ayuda con los termin<strong>al</strong>es, haga clic <strong>de</strong>recho <strong>en</strong> la función y seleccione Visible Items o<br />

Objetos Visibles>>Termin<strong>al</strong>s o Termin<strong>al</strong>es. Un dibujo <strong>de</strong> la función será colocada atrás para<br />

revelar las termin<strong>al</strong>es <strong>de</strong> la conexión. Note los colores - estos correspon<strong>de</strong>n a los tipos <strong>de</strong> datos<br />

utilizados por los termin<strong>al</strong>es <strong>de</strong>l panel front<strong>al</strong>.<br />

Para ayuda adicion<strong>al</strong>, seleccione Help >> Show Context Help, o presione CTRL+H. Esto<br />

mostrara la v<strong>en</strong>tana <strong>de</strong> ayuda <strong>en</strong> contexto. A medida que uno mueva el raton (mouse) sobre la<br />

función, esta v<strong>en</strong>tana le mostrara la función, termin<strong>al</strong>es, y una breve <strong>de</strong>scripción. Utilice esto junto<br />

con otras herrami<strong>en</strong>tas para ayudarse mi<strong>en</strong>tras conecta los cables.<br />

Si el cableado no se mira muy bi<strong>en</strong>, haga clic <strong>de</strong>recho <strong>en</strong> el cable que se <strong>de</strong>sea arreglar y escoja la<br />

opción <strong>de</strong> Clean Up Wire o Limpieza <strong>de</strong>l Cable para que automáticam<strong>en</strong>te el cable haga su ruta <strong>de</strong><br />

nuevo.<br />

15


El cableado es muy flexible <strong>en</strong> LabVIEW. Experim<strong>en</strong>te con combinaciones <strong>de</strong> clics<br />

y/o teclas cuando este cableando. Aquí hay <strong>al</strong>gunas <strong>de</strong> las características mas a<br />

m<strong>en</strong>udo utilizadas.<br />

El hacer un simple, doble, y triple clic <strong>en</strong> el cable selecciona el cable para moverlo<br />

o para borrarlo.<br />

El hacer un clic mi<strong>en</strong>tras se esta cableando hace un doblez <strong>en</strong> el cable.<br />

Haci<strong>en</strong>do clic <strong>de</strong>recho o presionando el botón Esc mi<strong>en</strong>tras se esta cableando<br />

cancela la operación <strong>de</strong> cableado.<br />

No se preocupe por el color <strong>de</strong> los cables. LabVIEW seleccionará automáticam<strong>en</strong>te<br />

el cable correcto y a<strong>de</strong>cuado para cada situación.<br />

Cableando Objetos Automáticam<strong>en</strong>te<br />

LabVIEW cablea automáticam<strong>en</strong>te los objetos a medida que usted los coloca <strong>en</strong> el<br />

diagrama <strong>de</strong> bloque. También pue<strong>de</strong> cablear automáticam<strong>en</strong>te objetos que ya están<br />

colocados <strong>en</strong> el diagrama <strong>de</strong> bloque. LabVIEW conecta la termin<strong>al</strong> que mejor<br />

combina (match) y <strong>de</strong>ja las termin<strong>al</strong>es que no combinan (match) sin conectar. A<br />

medida que usted mueve un objeto seleccionado cerca <strong>de</strong> otros objetos <strong>en</strong> el<br />

diagrama <strong>de</strong> bloque, LabVIEW dibuja cables tempor<strong>al</strong>es para mostrarle conexiones<br />

v<strong>al</strong>idas. Cuando usted suelta el botón <strong>de</strong>l mouse para poner el objeto <strong>en</strong> el diagrama<br />

<strong>de</strong> bloque, LabVIEW conecta automáticam<strong>en</strong>te los cables. Cambie <strong>al</strong> cableado<br />

automático presionando el espaciador (spacebar) mi<strong>en</strong>tras mueve un objeto<br />

utilizando la herrami<strong>en</strong>ta <strong>de</strong> posicionami<strong>en</strong>to (Positioning tool). Pue<strong>de</strong> ajustarlas<br />

opciones <strong>de</strong>l cableado automático seleccionando Tools >> Options y seleccionando<br />

Block Diagram <strong>de</strong> el m<strong>en</strong>ú superior princip<strong>al</strong>.<br />

16


LabVIEW sigue un mo<strong>de</strong>lo <strong>de</strong> flujo <strong>de</strong> datos para correr los VIs. Un nodo <strong>de</strong>l<br />

diagrama <strong>de</strong> bloque se ejecuta cuando todas sus <strong>en</strong>tradas están disponibles. Cuando<br />

un nodo completa la ejecución, suministra datos a sus termin<strong>al</strong>es <strong>de</strong> s<strong>al</strong>ida y pasa<br />

los datos <strong>de</strong> s<strong>al</strong>ida <strong>al</strong> sigui<strong>en</strong>te nodo <strong>en</strong> la trayectoria <strong>de</strong>l flujo <strong>de</strong> datos. Visu<strong>al</strong><br />

Basic, C++, JAVA y otros l<strong>en</strong>guajes <strong>de</strong> programación basados <strong>en</strong> texto, sigu<strong>en</strong> un<br />

mo<strong>de</strong>lo <strong>de</strong> control <strong>de</strong> flujo <strong>de</strong> la ejecución <strong>de</strong> un programa. En flujo <strong>de</strong> control, el<br />

or<strong>de</strong>n secu<strong>en</strong>ci<strong>al</strong> <strong>de</strong> los elem<strong>en</strong>tos <strong>de</strong>l programa <strong>de</strong>termina el or<strong>de</strong>n <strong>de</strong> ejecución <strong>de</strong><br />

un programa.<br />

Consi<strong>de</strong>re el diagrama <strong>de</strong> bloque que se <strong>en</strong>cu<strong>en</strong>tra arriba. Este suma dos números y<br />

luego resta 50 <strong>de</strong>l resultado <strong>de</strong> la suma. En este caso, el diagrama <strong>de</strong> bloque se<br />

ejecuta <strong>de</strong> izquierda a <strong>de</strong>recha, no porque los objetos están puestos <strong>en</strong> ese or<strong>de</strong>n,<br />

sino porque una <strong>de</strong> las <strong>en</strong>tradas <strong>de</strong> la función <strong>de</strong> resta no es v<strong>al</strong>ida hasta que la<br />

función <strong>de</strong> suma o adición haya terminado su ejecución y pasado los datos a la<br />

función <strong>de</strong> resta. Recuer<strong>de</strong> que un nodo se ejecuta solam<strong>en</strong>te cuando ti<strong>en</strong>e datos<br />

disponibles <strong>en</strong> todas sus termin<strong>al</strong>es <strong>de</strong> <strong>en</strong>trada, y suministra datos a sus termin<strong>al</strong>es<br />

<strong>de</strong> s<strong>al</strong>idas solam<strong>en</strong>te cuando termina su ejecución.<br />

En el código <strong>de</strong> la <strong>de</strong>recha, consi<strong>de</strong>re cu<strong>al</strong> segm<strong>en</strong>to <strong>de</strong>l código se ejecutara<br />

primero---la suma, el numero <strong>al</strong>eatorio, o la función <strong>de</strong> división. No se pue<strong>de</strong> saber<br />

porque las <strong>en</strong>tradas a las funciones <strong>de</strong> suma y división están disponibles <strong>al</strong> mismo<br />

tiempo, y la función <strong>de</strong> numero <strong>al</strong>eatorio no ti<strong>en</strong>e <strong>en</strong>tradas. En una situación <strong>en</strong><br />

don<strong>de</strong> un segm<strong>en</strong>to <strong>de</strong>l código se <strong>de</strong>be ejecutar antes que otro, y no existe<br />

<strong>de</strong>p<strong>en</strong><strong>de</strong>ncia <strong>de</strong> datos <strong>en</strong>tre las funciones, utilice una estructura <strong>de</strong> Secu<strong>en</strong>cia para<br />

forzar el or<strong>de</strong>n <strong>de</strong> la ejecución.<br />

17


Contexto <strong>de</strong> la Ayuda<br />

Ayuda <strong>en</strong> línea<br />

Congelar Ayuda<br />

Ayuda <strong>de</strong>l Diagrama Simple/Complejo<br />

Ctrl + H<br />

Refer<strong>en</strong>cias <strong>en</strong> Línea<br />

Todos los m<strong>en</strong>ús <strong>en</strong> línea<br />

Clic <strong>en</strong> las funciones <strong>de</strong>l diagrama para t<strong>en</strong>er acceso directo a<br />

la información <strong>en</strong> línea.<br />

Utilice la v<strong>en</strong>tana <strong>de</strong> Context Help (Ayuda Contextu<strong>al</strong>) y LabVIEW Help (Ayuda<br />

<strong>de</strong> LabViEW) para ayudarle a construir o editar los VIs. Refiérase a la ayuda <strong>de</strong><br />

LabVIEW y a los manu<strong>al</strong>es para mas información.<br />

V<strong>en</strong>tana <strong>de</strong> Ayuda Contextu<strong>al</strong> (Context Help Window )<br />

Para <strong>de</strong>splegar la v<strong>en</strong>tana <strong>de</strong> Context Help, seleccione Help>>Show Context Help<br />

o presione las teclas . Cuando mueva el <strong>curso</strong>r sobre el panel front<strong>al</strong> y los<br />

objetos <strong>de</strong>l diagrama <strong>de</strong> bloque, la v<strong>en</strong>tana <strong>de</strong> Context Help <strong>de</strong>spliega el icono <strong>de</strong><br />

los subVIs, funciones, constantes, controles e indicadores, con cables adjuntos a<br />

cada una <strong>de</strong> sus termin<strong>al</strong>es. Cuando mueva el <strong>curso</strong>r sobre la caja <strong>de</strong> opciones <strong>de</strong><br />

di<strong>al</strong>ogo, la v<strong>en</strong>tana <strong>de</strong> Context Help <strong>de</strong>spliega <strong>de</strong>scripciones <strong>de</strong> esas opciones. En<br />

la v<strong>en</strong>tana, las conexiones requeridas están <strong>en</strong> negrilla, las conexiones<br />

recom<strong>en</strong>dadas <strong>en</strong> texto norm<strong>al</strong>, y las conexiones opcion<strong>al</strong>es están poco claras o no<br />

aparec<strong>en</strong>. Arriba se pres<strong>en</strong>ta un ejemplo <strong>de</strong> la v<strong>en</strong>tana <strong>de</strong> Context Help.<br />

Haga un clic <strong>en</strong> el botón <strong>de</strong> Simple/Detailed Context Help loc<strong>al</strong>izado <strong>en</strong> la esquina<br />

inferior izquierda <strong>de</strong> la v<strong>en</strong>tana <strong>de</strong> Context Help para distinguir <strong>en</strong>tre la ayuda<br />

contextu<strong>al</strong> simple y <strong>de</strong>t<strong>al</strong>lada. El modo simple <strong>en</strong>fatiza las conexiones importantes.<br />

Las termin<strong>al</strong>es opcion<strong>al</strong>es son mostradas por segm<strong>en</strong>tos <strong>de</strong> cables, informándole <strong>de</strong><br />

la exist<strong>en</strong>cia <strong>de</strong> otras conexiones.<br />

Haga clic <strong>en</strong> el botón <strong>de</strong> Lock Context Help para congelar el cont<strong>en</strong>ido actu<strong>al</strong> <strong>de</strong> la<br />

v<strong>en</strong>tana <strong>de</strong> la Context Help. Cuando los cont<strong>en</strong>idos están congelados, el mover el<br />

<strong>curso</strong>r sobre otros objetos no cambia los cont<strong>en</strong>idos <strong>de</strong> la v<strong>en</strong>tana. Para <strong>de</strong>scongelar<br />

la v<strong>en</strong>tana, haga clic nuevam<strong>en</strong>te <strong>en</strong> el botón. Usted también pue<strong>de</strong> t<strong>en</strong>er acceso a<br />

esta opción <strong>de</strong>s<strong>de</strong> el m<strong>en</strong>ú <strong>de</strong> ayuda (Help).<br />

18


Haga clic <strong>en</strong> el botón <strong>de</strong> More Help (mas ayuda) para <strong>de</strong>splegar el tema<br />

correspondi<strong>en</strong>te <strong>en</strong> LabVIEW Help, el cu<strong>al</strong> <strong>de</strong>scribe el objeto <strong>en</strong> forma <strong>de</strong>t<strong>al</strong>lada.<br />

LabVIEW Help (Ayuda <strong>de</strong> LabVIEW)<br />

Pue<strong>de</strong> acce<strong>de</strong>r a LabVIEW Help ya sea haci<strong>en</strong>do clic <strong>en</strong> el botón <strong>de</strong> More Help <strong>en</strong><br />

la v<strong>en</strong>tana <strong>de</strong> Context Help, seleccionando Help»VI, Function, & How-To Help,<br />

haci<strong>en</strong>do clic <strong>en</strong> la oración Click here for more help <strong>en</strong> la v<strong>en</strong>tana <strong>de</strong> Context<br />

Help o presionando .<br />

La LabVIEW Help conti<strong>en</strong>e <strong>de</strong>scripciones <strong>de</strong>t<strong>al</strong>ladas <strong>de</strong> casi todos los m<strong>en</strong>ús,<br />

herrami<strong>en</strong>tas, VIs y funciones. También incluye instrucciones paso-a-paso para la<br />

utilización <strong>de</strong> muchas características <strong>de</strong> LabVIEW y <strong>en</strong>laces <strong>al</strong> Tutori<strong>al</strong> <strong>de</strong><br />

LabVIEW, versiones <strong>en</strong> PDF <strong>de</strong> todos los manu<strong>al</strong>es y Notas <strong>de</strong> Aplicación <strong>de</strong><br />

LabVIEW, a<strong>de</strong>más <strong>de</strong> re<strong>curso</strong>s <strong>de</strong> soporte técnico <strong>en</strong> el sitio web <strong>de</strong> Nation<strong>al</strong><br />

Instrum<strong>en</strong>ts.<br />

19


Tiempo estimado <strong>de</strong> fin<strong>al</strong>ización: 20 minutos. El ejercicio es fácil, pero como será<br />

el primer VI que crearemos, es bu<strong>en</strong>o permitir un tiempo amplio para explorar el<br />

ambi<strong>en</strong>te <strong>de</strong> LabVIEW.<br />

Instrucciones: Construya un VI que convierta <strong>de</strong> °C a °F. Cuando lo corra, el VI<br />

<strong>de</strong>berá <strong>de</strong> tomar un v<strong>al</strong>or <strong>de</strong> <strong>en</strong>trada (°C), multiplicarlo por 1.8, sumarle 32, y<br />

<strong>de</strong>splegar el resultado (°F). El panel front<strong>al</strong> <strong>de</strong>berá mostrar el v<strong>al</strong>or <strong>de</strong> <strong>en</strong>trada y el<br />

resultado. S<strong>al</strong>ve el VI como Conversion C a F.vi<br />

20


Encontrando los Errores<br />

Res<strong>al</strong>tar la Ejecución<br />

Herrami<strong>en</strong>ta <strong>de</strong> Prueba<br />

Haga clic <strong>en</strong> el botón <strong>de</strong> correr que esta roto;<br />

Aparece una v<strong>en</strong>tana mostrando los errores<br />

Haga clic <strong>en</strong> el botón <strong>de</strong> ejecución res<strong>al</strong>tada; el<br />

flujo <strong>de</strong> datos es animado utilizando burbujas.<br />

Los v<strong>al</strong>ores se <strong>de</strong>spliegan <strong>en</strong> los cables.<br />

Haga clic con el botón <strong>de</strong>recho sobre el cable para<br />

exhibir la v<strong>en</strong>tana <strong>de</strong> prueba y así mostrar los<br />

datos mi<strong>en</strong>tras fluy<strong>en</strong> por el segm<strong>en</strong>to <strong>de</strong> cable.<br />

También pue<strong>de</strong> seleccionar la herrami<strong>en</strong>ta <strong>de</strong><br />

prueba <strong>de</strong>s<strong>de</strong> la p<strong>al</strong>eta <strong>de</strong> herrami<strong>en</strong>tas y hacer un<br />

clic <strong>en</strong> el cable.<br />

Cuando su VI no es ejecutable, se <strong>de</strong>spliega una flecha quebrada <strong>en</strong> el botón <strong>de</strong><br />

correr <strong>en</strong> la p<strong>al</strong>eta <strong>de</strong> herrami<strong>en</strong>tas.<br />

Encontrando los Errores: Para hacer una lista <strong>de</strong> los errores, haga clic <strong>en</strong> la flecha<br />

quebrada. Para loc<strong>al</strong>izar el objeto m<strong>al</strong>o, haga clic <strong>en</strong> el m<strong>en</strong>saje <strong>de</strong>l error.<br />

Res<strong>al</strong>tando la Ejecucion: Anima el diagrama y traza el flujo <strong>de</strong> datos,<br />

permitiéndole ver los v<strong>al</strong>ores intermedios.<br />

Haga clic <strong>en</strong> el bombillo incan<strong>de</strong>sc<strong>en</strong>te (light bulb) <strong>en</strong> la barra <strong>de</strong><br />

herrami<strong>en</strong>tas.<br />

Probe: Utilizado para ver los v<strong>al</strong>ores <strong>en</strong> los arrays (arreglos) y clusters .<br />

Haga clic <strong>en</strong> los cables con la herrami<strong>en</strong>ta Probe o haga clic <strong>de</strong>recho <strong>en</strong> el<br />

cable para ajustar los probes.<br />

Punto <strong>de</strong> Paro (Breakpoint): Coloca pausas <strong>en</strong> difer<strong>en</strong>tes lugares <strong>de</strong>l diagrama.<br />

Haga clic <strong>en</strong> los cables o <strong>en</strong> los objetos con la herrami<strong>en</strong>ta <strong>de</strong> Punto <strong>de</strong><br />

Paro para colocar los puntos <strong>de</strong> paro.<br />

Utilice el VI Debug Demonstrate <strong>de</strong>l BASICS.LLB para <strong>de</strong>mostrar las opciones y<br />

las herrami<strong>en</strong>tas.<br />

21


Así como <strong>en</strong> las termin<strong>al</strong>es <strong>de</strong> control o <strong>de</strong> indicador <strong>en</strong> el diagrama <strong>de</strong> bloque pue<strong>de</strong>n ser<br />

vistos como un icono o como una simple termin<strong>al</strong>, los subVIs pue<strong>de</strong>n ser vistos como un<br />

icono, un nodo expandible o un nodo expandido. Las difer<strong>en</strong>tes vistas <strong>de</strong>p<strong>en</strong><strong>de</strong>n <strong>en</strong> la<br />

prefer<strong>en</strong>cia <strong>de</strong>l usuario y no cambia la funcion<strong>al</strong>idad <strong>de</strong>l subVI.<br />

23


Un SubVI es un VI que pue<strong>de</strong> ser utilizado <strong>de</strong>ntro <strong>de</strong><br />

otro VI<br />

Similar a una subrutina<br />

V<strong>en</strong>tajas<br />

Modular<br />

Fácil para eliminar errores<br />

No ti<strong>en</strong>e que crear códigos<br />

Requiere m<strong>en</strong>os memoria<br />

Después <strong>de</strong> haber construido un VI, y creado su propio icono y panel <strong>de</strong> conexión,<br />

este pue<strong>de</strong> ser utilizado <strong>en</strong> otro VI. Un VI <strong>de</strong>ntro <strong>de</strong> otro VI se llama un subVI. Un<br />

subVI correspon<strong>de</strong> a una subrutina <strong>en</strong> l<strong>en</strong>guajes <strong>de</strong> programación basados <strong>en</strong> texto.<br />

La utilización <strong>de</strong> subVIs le ayuda a manejar cambios y a eliminar errores <strong>de</strong>l<br />

diagrama <strong>de</strong> bloque rápidam<strong>en</strong>te.<br />

24


Icon<br />

Termin<strong>al</strong>s<br />

Connector<br />

Cada VI muestra un icono, mostrado arriba, <strong>en</strong> la esquina superior <strong>de</strong>recha <strong>de</strong> las<br />

v<strong>en</strong>tanas <strong>de</strong>l panel front<strong>al</strong> y <strong>de</strong>l diagrama <strong>de</strong> bloque. Un icono es una repres<strong>en</strong>tación<br />

grafica <strong>de</strong> un VI. Pue<strong>de</strong> cont<strong>en</strong>er texto, imág<strong>en</strong>es, o una combinación <strong>de</strong> ambos. Si<br />

usted utiliza un VI como subVI, el icono i<strong>de</strong>ntifica el subVI <strong>en</strong> el diagrama <strong>de</strong><br />

bloque <strong>de</strong>l VI.<br />

El conector muestra termin<strong>al</strong>es disponibles para la transfer<strong>en</strong>cia <strong>de</strong> datos hacia y<br />

<strong>de</strong>s<strong>de</strong> el subVI. Hay varios patrones <strong>de</strong> conectores para elegir. Haga un clic-<strong>de</strong>recho<br />

sobre el conector y seleccione el patrón <strong>de</strong>l m<strong>en</strong>ú <strong>de</strong> patrones. A partir <strong>de</strong> ahí usted<br />

pue<strong>de</strong> asignar controles e indicadores <strong>en</strong> el panel front<strong>al</strong> <strong>al</strong> conector termin<strong>al</strong>, como<br />

veremos mas a<strong>de</strong>lante.<br />

25


Sub VIs<br />

El diagrama <strong>de</strong> bloque mostrado <strong>en</strong> la parte superior conti<strong>en</strong>e dos subVIs. Para ver<br />

el panel front<strong>al</strong> <strong>de</strong> un subVI, simplem<strong>en</strong>te haga un doble clic sobre el subVI. Usted<br />

también pue<strong>de</strong> ver la jerarquía <strong>de</strong> subVIs <strong>de</strong>ntro <strong>de</strong> un VI princip<strong>al</strong> haci<strong>en</strong>do un clic<br />

<strong>en</strong> Browse>> Show VI Hierarchy.<br />

26


Cree iconos person<strong>al</strong>izados para reemplazar los iconos pre<strong>de</strong>terminados <strong>al</strong> hacer<br />

clic-<strong>de</strong>recho <strong>en</strong> la esquina superior <strong>de</strong>recha <strong>de</strong>l panel front<strong>al</strong> o <strong>de</strong>l diagrama <strong>de</strong><br />

bloques y seleccionando el Edit Icon <strong>de</strong>l m<strong>en</strong>ú <strong>de</strong> atajo o haci<strong>en</strong>do un doble clic <strong>en</strong><br />

el icono <strong>en</strong> la esquina superior <strong>de</strong>recha <strong>de</strong>l panel front<strong>al</strong>. Usted también pue<strong>de</strong><br />

corregir iconos seleccionando File >> VI Properties, seleccionando G<strong>en</strong>er<strong>al</strong> <strong>de</strong>l<br />

m<strong>en</strong>u Category, y haci<strong>en</strong>do clic <strong>en</strong> el botón <strong>de</strong> editar (Edit Icon). Utilice las<br />

herrami<strong>en</strong>tas <strong>de</strong>l lado izquierdo <strong>de</strong> la casilla <strong>de</strong> di<strong>al</strong>ogo <strong>de</strong>l Icon Editor para crear<br />

el diseño <strong>de</strong>l icono <strong>en</strong> el área <strong>de</strong> edición. El tamaño norm<strong>al</strong> <strong>de</strong> la imag<strong>en</strong> <strong>de</strong>l icono<br />

aparece <strong>en</strong> la casilla apropiada <strong>en</strong> la parte <strong>de</strong>recha <strong>de</strong>l área <strong>de</strong> edición.<br />

Usted también pue<strong>de</strong> arrastrar un gráfico <strong>de</strong>s<strong>de</strong> cu<strong>al</strong>quier archivo y colocarlo <strong>en</strong> la<br />

esquina superior <strong>de</strong>recha <strong>de</strong>l panel front<strong>al</strong> o <strong>de</strong>l diagrama <strong>de</strong> bloque. LabVIEW<br />

convierte el gráfico a un icono <strong>de</strong> 32 × 32 píxeles.<br />

28


Haga click <strong>de</strong>recho sobre el icono (solam<strong>en</strong>te <strong>en</strong> el panel front<strong>al</strong>)<br />

Para utilizar un VI como un subVI, usted necesita crear un conector. El conector es<br />

una serie <strong>de</strong> termin<strong>al</strong>es que correspon<strong>de</strong>n a los controles y a los indicadores <strong>de</strong> ese<br />

VI, similar a la lista <strong>de</strong> parámetros <strong>de</strong> una función basado <strong>en</strong> un l<strong>en</strong>guaje <strong>de</strong><br />

programación <strong>de</strong> texto. El conector <strong>de</strong>fine las <strong>en</strong>tradas y las s<strong>al</strong>idas que usted pue<strong>de</strong><br />

cablear <strong>al</strong> VI para que pueda utilizarlo como subVI.<br />

Defina las conexiones asignando un control <strong>de</strong>l panel front<strong>al</strong> o un indicador a cada<br />

una <strong>de</strong> las termin<strong>al</strong>es <strong>de</strong>l conector. Para <strong>de</strong>finir un conector, <strong>de</strong> un clic-<strong>de</strong>recho<br />

sobre el icono <strong>en</strong> la esquina superior <strong>de</strong>recha <strong>de</strong> la v<strong>en</strong>tana <strong>de</strong>l panel front<strong>al</strong> y<br />

seleccione Show Connector <strong>de</strong>l m<strong>en</strong>ú. El conector substituye el icono. Cada<br />

rectángulo <strong>en</strong> el conector repres<strong>en</strong>ta una termin<strong>al</strong>. Utilice los rectángulos para<br />

asignar <strong>en</strong>tradas y s<strong>al</strong>idas. El número <strong>de</strong> termin<strong>al</strong>es que LabVIEW muestra <strong>en</strong> el<br />

conector <strong>de</strong>p<strong>en</strong><strong>de</strong> <strong>de</strong>l número <strong>de</strong> controles e indicadores <strong>en</strong> el panel front<strong>al</strong>. El<br />

panel front<strong>al</strong> <strong>de</strong> arriba ti<strong>en</strong>e cuatro controles y un indicador, así que LabVIEW<br />

muestra cuatro termin<strong>al</strong>es <strong>de</strong> <strong>en</strong>tradas y una termin<strong>al</strong> <strong>de</strong> s<strong>al</strong>ida <strong>en</strong> el conector.<br />

29


Después que seleccione un patrón para utilizar <strong>en</strong> su conector, <strong>de</strong>be <strong>de</strong>finir las<br />

conexiones asignando un control <strong>de</strong>l panel front<strong>al</strong> o indicador a cada uno <strong>de</strong> los<br />

termin<strong>al</strong>es <strong>de</strong>l conector. Cuando usted hace vínculos <strong>en</strong>tre controles e indicadores y<br />

el conector, coloque las <strong>en</strong>tradas <strong>en</strong> la izquierda y las s<strong>al</strong>idas a la <strong>de</strong>recha para<br />

evitar patrones complicados y poco claros <strong>en</strong> su VI. Para asignar una termin<strong>al</strong> a un<br />

control <strong>de</strong> panel front<strong>al</strong> o indicador, presione una termin<strong>al</strong> <strong>de</strong>l conector. Presione el<br />

control <strong>de</strong>l panel front<strong>al</strong> o indicador que usted <strong>de</strong>sea asignar a la termin<strong>al</strong>. Haga<br />

clic <strong>en</strong> un área abierta <strong>de</strong>l panel front<strong>al</strong>. La termin<strong>al</strong> cambia <strong>al</strong> color <strong>de</strong>l tipo <strong>de</strong><br />

datos <strong>de</strong>l control para indicar que usted conectó la termin<strong>al</strong>. Usted también pue<strong>de</strong><br />

seleccionar el control o el indicador primeram<strong>en</strong>te y <strong>de</strong>spués seleccionar la<br />

termin<strong>al</strong>.<br />

Asegurase que s<strong>al</strong>vó el VI <strong>de</strong>spués <strong>de</strong> haber hecho las asignaciones <strong>de</strong> las<br />

termin<strong>al</strong>es.<br />

30


Hay varias maneras <strong>de</strong> organizar sus subVIs. La manera más común es organizarlos<br />

por aplicación. En este caso, son s<strong>al</strong>vados <strong>en</strong> el mismo directorio o <strong>de</strong>ntro <strong>de</strong> un<br />

archivo <strong>de</strong> librería <strong>de</strong> VI todos los VI s para una aplicación <strong>en</strong> particular. S<strong>al</strong>varlos<br />

<strong>en</strong> un archivo <strong>de</strong> librería permite que usted transporte una aplicación <strong>en</strong>tera <strong>de</strong>ntro<br />

<strong>de</strong> un solo archivo.<br />

S<strong>al</strong>var <strong>de</strong>ntro <strong>de</strong> una librería es simple. Después <strong>de</strong> presionar Save As (s<strong>al</strong>var<br />

como), presione New VI Library (nueva librería <strong>de</strong> VI). Esto permitirá que usted<br />

nombre la librería, y <strong>en</strong>tonces s<strong>al</strong>var su VI <strong>en</strong> él. Para agregar VI subsecu<strong>en</strong>tes,<br />

simplem<strong>en</strong>te haga un doble-clic <strong>al</strong> archivo .llb <strong>de</strong> la v<strong>en</strong>tana estándar <strong>de</strong> S<strong>al</strong>var, y<br />

dar un nombre <strong>al</strong> VI.<br />

31


Acce<strong>de</strong>r subVIs creados por el usuario<br />

Funciones >> All Functions >> Seleccione<br />

un VI o<br />

arrastre el icono hasta el diagrama <strong>de</strong>seado<br />

Después <strong>de</strong> construir un VI y crear su icono y conector, usted pue<strong>de</strong> utilizarlo<br />

como un subVI. Para colocar un subVI <strong>en</strong> el diagrama <strong>de</strong> bloque, seleccione<br />

Functions>> Select VI. Navegue y haga un doble-clic <strong>en</strong> el VI que usted <strong>de</strong>sea<br />

utilizar como subVI y colocaquelo <strong>en</strong> el diagrama <strong>de</strong> bloques.<br />

También pue<strong>de</strong> colocar un VI abierto <strong>en</strong> el diagrama <strong>de</strong> bloque <strong>de</strong> otro VI abierto<br />

usando la herrami<strong>en</strong>ta <strong>de</strong> colocación (Positioning Tool) para hacer clic <strong>en</strong> el icono<br />

<strong>en</strong> la esquina superior <strong>de</strong>recha <strong>de</strong>l panel front<strong>al</strong> o diagrama <strong>de</strong> bloque <strong>de</strong> el VI que<br />

usted <strong>de</strong>sea utilizar como subVI y arrastrar el icono <strong>al</strong> diagrama <strong>de</strong> bloque <strong>de</strong>l otro<br />

VI.<br />

32


LabVIEW ti<strong>en</strong>e muchas teclas <strong>de</strong> atajo que hac<strong>en</strong> el trabajo mas fácil. Las mas<br />

comunes se listan <strong>en</strong> la diapositiva.<br />

Mi<strong>en</strong>tras la Herrami<strong>en</strong>ta <strong>de</strong> Selección Automática (Automatic Selection Tool) es<br />

g<strong>en</strong>i<strong>al</strong> para escoger la herrami<strong>en</strong>ta que usted <strong>de</strong>searía utilizar <strong>en</strong> LabVIEW, a veces<br />

hay casos cuando usted <strong>de</strong>sea controles manu<strong>al</strong>es. Utilice la tecla Tab para cambiar<br />

<strong>en</strong>tre las cuatro herrami<strong>en</strong>tas mas comunes (Operate V<strong>al</strong>ue (v<strong>al</strong>or <strong>de</strong> operacion),<br />

Position/Size/Select, (Posición/Tamaño/Selección), Edit Text (editar texto), Set<br />

Color on Front Panel (establecer color <strong>en</strong> panel front<strong>al</strong>), Connect wire on Block<br />

Diagram (conectar cable <strong>en</strong> el diagrama <strong>de</strong> bloque)). Una vez que se ha terminado<br />

con la selección <strong>de</strong> herrami<strong>en</strong>tas, pue<strong>de</strong> presionar para activar la<br />

Herrami<strong>en</strong>ta <strong>de</strong> Selección Automática.<br />

En el di<strong>al</strong>ogo <strong>de</strong> Herrami<strong>en</strong>tas >> Opciones , hay muchas opciones configurables<br />

para el Panel Front<strong>al</strong>, Diagrama <strong>de</strong> Bloque, Colores, Impresión y mucho mas.<br />

Similar a las opciones <strong>de</strong> LabVIEW, se pue<strong>de</strong>n configurar propieda<strong>de</strong>s especificas<br />

<strong>de</strong>l VI <strong>al</strong> ir a File >> VI Properties Ahí se pue<strong>de</strong> docum<strong>en</strong>tar el VI, cambiar la<br />

apari<strong>en</strong>cia <strong>de</strong> la v<strong>en</strong>tana, y person<strong>al</strong>izarlos <strong>de</strong> varias maneras.<br />

33


S<strong>en</strong>sores<br />

Bloque <strong>de</strong> Termin<strong>al</strong>es<br />

Cable<br />

Dispositivo DAQ<br />

Computadora<br />

34


Digit<strong>al</strong><br />

La plataforma <strong>de</strong> Adquisición <strong>de</strong> Datos <strong>en</strong> LabVIEW conti<strong>en</strong>e una plataforma para la NI-<br />

DAQ tradicion<strong>al</strong> y una para NI-DAQmx.<br />

Los VIs tradicion<strong>al</strong>es están divididos por el tipo <strong>de</strong> medición, los VIs DAQmx están<br />

divididos por el tipo <strong>de</strong> tarea.<br />

Antes <strong>de</strong> utilizar la Adquisición <strong>de</strong> Datos <strong>de</strong> VIs se <strong>de</strong>be completar varios pasos. Los<br />

dispositivos <strong>de</strong>b<strong>en</strong> se configurados para las computadoras <strong>en</strong> esta clase.<br />

1. El software NI-DAQ <strong>de</strong>be estar inst<strong>al</strong>ado <strong>en</strong> la computadora.<br />

2. Debe t<strong>en</strong>er inst<strong>al</strong>ado una tarjeta E-series DAQ y esta <strong>de</strong>be ser configurada usando el<br />

Explorador <strong>de</strong> Automatización & Mediación (Measurem<strong>en</strong>t & Automation Explorer<br />

(MAX)).<br />

Para mas información sobre la inst<strong>al</strong>ación y configuración <strong>de</strong> hardware <strong>de</strong> Nation<strong>al</strong><br />

Instrum<strong>en</strong>ts, consultar el DAQ QUick Start Gui<strong>de</strong>:<br />

http://digit<strong>al</strong>.ni.com/manu<strong>al</strong>s.nsf/websearch/E502277FE33ED60686256B3B0056AEDF?O<br />

p<strong>en</strong>Docum<strong>en</strong>t&no<strong>de</strong>=132100_US<br />

35


Arriba esta la v<strong>en</strong>tana <strong>de</strong> ayuda <strong>de</strong>l DAQ (DAQ Assistant) que pue<strong>de</strong> ser<br />

configurada rápidam<strong>en</strong>te para leer temperaturas <strong>de</strong> una tarjeta <strong>de</strong> Adquisición <strong>de</strong><br />

Datos (DAQ).<br />

36


ú ñ<br />

Resolución: Al adquirir datos a una computadora, un convertidor <strong>de</strong> Análogo-a-<br />

Digit<strong>al</strong> (ADC) toma una señ<strong>al</strong> análoga y la convierte a un número binario. Por lo<br />

tanto, cada número binario <strong>de</strong>l ADC repres<strong>en</strong>ta cierto nivel <strong>de</strong> voltaje. El ADC<br />

<strong>de</strong>vuelve el nivel más <strong>al</strong>to posible sin pasar el nivel <strong>de</strong> voltaje re<strong>al</strong> <strong>de</strong> la señ<strong>al</strong><br />

análoga. La resolución se refiere <strong>al</strong> número <strong>de</strong> niveles binarios que el ADC pue<strong>de</strong><br />

utilizar para repres<strong>en</strong>tar una señ<strong>al</strong>. Para <strong>en</strong>contrar el número <strong>de</strong> niveles <strong>de</strong> voltaje<br />

disponibles basados <strong>en</strong> la resolución usted simplem<strong>en</strong>te toma 2 Resolucion . Por lo tanto,<br />

cuanto más <strong>al</strong>ta es la resolución, más son los niveles que usted t<strong>en</strong>drá para<br />

repres<strong>en</strong>tar su señ<strong>al</strong>. Por ejemplo, un ADC con 3-bits <strong>de</strong> resolución pue<strong>de</strong> medir 2 3<br />

o 8 niveles <strong>de</strong> voltajes, mi<strong>en</strong>tras que un ADC con 12-bit <strong>de</strong> resolución pue<strong>de</strong> medir<br />

2 12 o 4096 niveles <strong>de</strong> voltajes.<br />

Rango: A difer<strong>en</strong>cia <strong>de</strong> la resolución <strong>de</strong>l ADC, el rango <strong>de</strong>l ADC es seleccionable.<br />

La mayoría <strong>de</strong> los dispositivos DAQ ofrec<strong>en</strong> un rango <strong>de</strong>s<strong>de</strong> 0 - +10 o -10 a +10. Se<br />

elige el rango cuando usted configura su dispositivo <strong>en</strong> NI-DAQ. T<strong>en</strong>ga pres<strong>en</strong>te<br />

que la resolución <strong>de</strong>l ADC será ext<strong>en</strong>dida por cu<strong>al</strong>quier rango que usted elija.<br />

Cuanto más gran<strong>de</strong> sea el rango, mas esparcida será su resolución, y t<strong>en</strong>drá una peor<br />

repres<strong>en</strong>tación <strong>de</strong> su señ<strong>al</strong>. Entonces es importante escoger su rango para<br />

apropiadam<strong>en</strong>te <strong>en</strong>cajar su señ<strong>al</strong> <strong>de</strong> <strong>en</strong>trada.<br />

37


Ganancia: Escogi<strong>en</strong>do apropiadam<strong>en</strong>te el rango <strong>de</strong> su ADC es una manera <strong>de</strong><br />

asegurarse <strong>de</strong> que usted esta maximizando la resolución <strong>de</strong> su ADC. Otra manera <strong>de</strong><br />

ayudar a su señ<strong>al</strong> a maximizar la resolución <strong>de</strong>l ADS es aplicando una ganancia.<br />

Ganancia se refiere a cu<strong>al</strong>quier amplificación o at<strong>en</strong>uación <strong>de</strong> una señ<strong>al</strong>. El ajuste<br />

<strong>de</strong> ganancia (gain setting) es un factor <strong>de</strong> esc<strong>al</strong>a. Cada nivel <strong>de</strong> voltaje <strong>en</strong> su señ<strong>al</strong><br />

<strong>en</strong>trante es multiplicado por el ajuste <strong>de</strong> ganancia para obt<strong>en</strong>er la señ<strong>al</strong> amplificada<br />

o at<strong>en</strong>uada. A difer<strong>en</strong>cia <strong>de</strong> la resolución que es un ajuste fijo (fixed setting) <strong>de</strong>l<br />

ADC, y el rango que es escogido cuando el dispositivo DAQ es configurado, la<br />

ganancia es especificada indirectam<strong>en</strong>te a través <strong>de</strong> un ajuste llamado límites <strong>de</strong><br />

<strong>en</strong>trada. Los límites <strong>de</strong> <strong>en</strong>trada se refier<strong>en</strong> a los v<strong>al</strong>ores máximos y mínimos <strong>de</strong> su<br />

señ<strong>al</strong> <strong>de</strong> <strong>en</strong>trada an<strong>al</strong>ógica actu<strong>al</strong>. Basado <strong>en</strong> los límites <strong>de</strong> <strong>en</strong>trada que usted <strong>de</strong>fina,<br />

la ganancia posible más gran<strong>de</strong> que mant<strong>en</strong>drá la señ<strong>al</strong> <strong>en</strong>tre el rango escogido <strong>de</strong>l<br />

ADC es aplicada a su señ<strong>al</strong>. Así que <strong>en</strong> lugar <strong>de</strong> necesitar c<strong>al</strong>cular la mejor<br />

ganancia basada <strong>en</strong> su señ<strong>al</strong> y <strong>en</strong> el rango escogido, todo lo que usted necesita saber<br />

son los v<strong>al</strong>ores máximos y mínimos <strong>de</strong> su señ<strong>al</strong>.<br />

38


BNC-2120<br />

SC-2075<br />

NI-ELVIS<br />

SCB-68<br />

Hay muchos arreglos difer<strong>en</strong>tes posibles <strong>de</strong> hardware para adquirir datos. Todos los<br />

sistemas <strong>de</strong> la Adquisición <strong>de</strong> Datos requier<strong>en</strong> <strong>al</strong>gún tipo <strong>de</strong> conexión termin<strong>al</strong> que<br />

acepta una señ<strong>al</strong> <strong>de</strong> su transductor y lo transmite a la tarjeta DAQ. Cuatro <strong>de</strong> estos<br />

bloques <strong>de</strong> termin<strong>al</strong>es son el BNC-2120, SC-2075, SCB-68, y NI-ELVIS.<br />

El BNC-2120 es un bloque <strong>de</strong> conexiones aislado (shiel<strong>de</strong>d) con conectores BNC<br />

<strong>de</strong> señ<strong>al</strong>-etiquetada para la conectividad fácil a su dispositivo DAQ. También<br />

proporciona un g<strong>en</strong>erador <strong>de</strong> funciones, <strong>en</strong>co<strong>de</strong>r (codificador) <strong>de</strong> cuadratura,<br />

refer<strong>en</strong>cia <strong>de</strong> la temperatura, conector <strong>de</strong> termocupla, y LED para que usted pueda<br />

probar la funcion<strong>al</strong>idad <strong>de</strong> su hardware.<br />

El SC-2075 proporciona áreas para conexión (breadboard areas) para hacer<br />

prototipos y conectividad BNC y <strong>de</strong> termin<strong>al</strong>es <strong>de</strong> resorte (spring termin<strong>al</strong>). Los<br />

±15 V <strong>de</strong> <strong>al</strong>im<strong>en</strong>tación fija asi como la <strong>al</strong>im<strong>en</strong>tación ajustable <strong>de</strong> 0 a 5 V y LEDs<br />

hac<strong>en</strong> <strong>de</strong>l SC-2075 un instrum<strong>en</strong>to i<strong>de</strong><strong>al</strong> para laboratorios académicos.<br />

El SCB-68 es un bloque <strong>de</strong> conexión <strong>de</strong> E/S (I/O) aislado (shiel<strong>de</strong>d) para señ<strong>al</strong>es<br />

resist<strong>en</strong>tes y <strong>de</strong> bajo-ruido. Incluye dos áreas <strong>de</strong> conexión (breadboard areas) <strong>de</strong><br />

propósito-g<strong>en</strong>er<strong>al</strong> así como un s<strong>en</strong>sor <strong>de</strong> temperatura IC para la comp<strong>en</strong>sación <strong>de</strong><br />

emp<strong>al</strong>me frío <strong>en</strong> mediciones <strong>de</strong> temperatura.<br />

NI-ELVIS (Sistema <strong>de</strong> Laboratorio Educacion<strong>al</strong> <strong>de</strong> Instrum<strong>en</strong>tación Virtu<strong>al</strong>) es un<br />

ambi<strong>en</strong>te <strong>de</strong> prototipo y diseño basado <strong>en</strong> LabVIEW y consiste <strong>de</strong> instrum<strong>en</strong>tos<br />

virtu<strong>al</strong>es basados <strong>en</strong> LabVIEW, un dispositivo <strong>de</strong> adquisición <strong>de</strong> datos<br />

multifuncion<strong>al</strong>, y <strong>en</strong> una estación <strong>de</strong> trabajo con un banco y tablero <strong>de</strong> diseño y<br />

39


Complete el VI <strong>de</strong> conversión <strong>de</strong> C a F (Conversion C a<br />

F.vi), y <strong>de</strong>spués cree el VI Termómetro (Thermometer.vi).<br />

Nota: Para completar este ejercicio, usted necesitará el s<strong>en</strong>sor <strong>de</strong> la temperatura IC<br />

disponible <strong>en</strong> el BNC-2120, SCB-68 o Accesorio <strong>de</strong> Señ<strong>al</strong> DAQ.<br />

El tiempo estimado para completarse: 30 minutos.<br />

Instrucciones: Este ejercicio ti<strong>en</strong>e tres partes.<br />

Primero, cree un icono y conector para Conversion C a F.vi (Ejercicio 1). El icono<br />

<strong>de</strong>be recordarle la funcion<strong>al</strong>idad <strong>de</strong>l VI (e.g. C F o C a F). El conector <strong>de</strong>be t<strong>en</strong>er<br />

una <strong>en</strong>trada y una s<strong>al</strong>ida, permiti<strong>en</strong>do una termin<strong>al</strong> para °C <strong>de</strong> <strong>en</strong>trada, y °F <strong>de</strong><br />

s<strong>al</strong>ida.<br />

Segundo, cree un VI princip<strong>al</strong> que adquiera un punto <strong>de</strong> datos <strong>de</strong>l can<strong>al</strong> 0 (el s<strong>en</strong>sor<br />

<strong>de</strong> la temperatura) <strong>de</strong> su tarjeta DAQ y permita <strong>al</strong> usuario mostrar la temperatura <strong>en</strong><br />

C<strong>en</strong>tígrados o Fahr<strong>en</strong>heit. Para hacer esto usted necesitará adquirir un solo punto <strong>de</strong><br />

datos <strong>de</strong> su tarjeta DAQ y esc<strong>al</strong>arlo por un factor <strong>de</strong> 100. Esto le dará °C. Usted<br />

<strong>de</strong>be t<strong>en</strong>er un interruptor o botón Booleano que le permita <strong>al</strong> usuario escoger<br />

C<strong>en</strong>tígrados o Fahr<strong>en</strong>heit. Si el usuario escoje C<strong>en</strong>tígrados, el v<strong>al</strong>or esc<strong>al</strong>ado se<br />

<strong>de</strong>be mostrar <strong>en</strong> un indicador <strong>de</strong> termómetro. Si el usuario escoje Fahr<strong>en</strong>heit, el<br />

v<strong>al</strong>or <strong>en</strong> C<strong>en</strong>tígrados se <strong>de</strong>be <strong>de</strong> pasar por el Conversion C a F.vi (utilizado como un<br />

subVI), y el v<strong>al</strong>or <strong>de</strong> s<strong>al</strong>ida Fahr<strong>en</strong>heit <strong>de</strong>be ser <strong>de</strong>splegado.<br />

Suger<strong>en</strong>cia: Utilice la función Select (seleccionar) <strong>en</strong> la p<strong>al</strong>eta <strong>de</strong><br />

Comparison (comparación).<br />

40


Fin<strong>al</strong>m<strong>en</strong>te, cree un Icono y Conector para Termómetro.vi. Un posible Icono seria<br />

una imag<strong>en</strong> <strong>de</strong> un termómetro. El conector <strong>de</strong>bería t<strong>en</strong>er dos termin<strong>al</strong>es. Uno para la<br />

<strong>en</strong>trada Booleana (°C or °F), y el segundo para la s<strong>al</strong>ida <strong>de</strong> la temperatura esc<strong>al</strong>ada.<br />

Guar<strong>de</strong> el VI como termómetro.vi<br />

41


For Loop (Ciclo Para)<br />

While Loop (Ciclo Mi<strong>en</strong>tras)<br />

Gráficas<br />

Multiplots<br />

Dele clic para agregar notas<br />

42


Ciclo Mi<strong>en</strong>tras<br />

Ti<strong>en</strong>e una Termin<strong>al</strong> <strong>de</strong> Iteración<br />

Siempre corre <strong>al</strong> m<strong>en</strong>os una vez<br />

Corre <strong>de</strong> acuerdo a la Termin<strong>al</strong><br />

Condicionante<br />

Ciclos Para<br />

Ti<strong>en</strong>e una Termin<strong>al</strong> <strong>de</strong> Iteración<br />

Corre <strong>de</strong> acuerdo a la <strong>en</strong>trada<br />

N <strong>de</strong> la Termin<strong>al</strong> <strong>de</strong> Conteo<br />

Ambos los ciclos Mi<strong>en</strong>tras (While) y Para (For) están loc<strong>al</strong>izados <strong>en</strong> la p<strong>al</strong>eta<br />

Functions»Structures. El ciclo Para difiere <strong>de</strong>l ciclo Mi<strong>en</strong>tras <strong>en</strong> que el ciclo Para<br />

ejecuta una serie (set) <strong>de</strong> veces pre<strong>de</strong>terminada. El ciclo Mi<strong>en</strong>tras <strong>de</strong>ja <strong>de</strong> ejecutar el<br />

sub diagrama solo si el v<strong>al</strong>or <strong>en</strong> la condición termin<strong>al</strong> existe.<br />

Ciclo Mi<strong>en</strong>tras<br />

Similar <strong>al</strong> ciclo Haga (Do) o <strong>al</strong> ciclo Repita-hasta (Repeat-Until) <strong>en</strong> l<strong>en</strong>guajes <strong>de</strong><br />

programación basados <strong>en</strong> texto, un ciclo Mi<strong>en</strong>tras, mostrado arriba a la <strong>de</strong>recha,<br />

ejecuta un sub diagrama hasta que la condición sea cumplida. El ciclo Mi<strong>en</strong>tras<br />

ejecuta el sub diagrama hasta que la termin<strong>al</strong> <strong>de</strong>p<strong>en</strong>di<strong>en</strong>te, recibe un v<strong>al</strong>or<br />

Booleano específico. El comportami<strong>en</strong>to incumplido y la apari<strong>en</strong>cia <strong>de</strong> la termin<strong>al</strong><br />

<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te (v<strong>al</strong>or por <strong>de</strong>fecto) es Continue if True (continue si es Verda<strong>de</strong>ro),<br />

mostrado a la izquierda. Cuando una termin<strong>al</strong> <strong>de</strong>p<strong>en</strong>di<strong>en</strong>te es Continue if True, el<br />

ciclo Mi<strong>en</strong>tras ejecuta su sub diagrama hasta que la termin<strong>al</strong> <strong>de</strong>p<strong>en</strong>di<strong>en</strong>te recibe un<br />

v<strong>al</strong>or FALSO. La termin<strong>al</strong> <strong>de</strong> iteración (una termin<strong>al</strong> <strong>de</strong> s<strong>al</strong>ida), mostrada a la<br />

izquierda, conti<strong>en</strong>e el numero <strong>de</strong> iteraciones completas. El conteo <strong>de</strong> iteraciones<br />

siempre empieza <strong>en</strong> cero. Durante la primera iteración, la termin<strong>al</strong> <strong>de</strong> iteración<br />

regresa a cero.<br />

Ciclo Para<br />

Un ciclo Para, mostrado a la izquierda, ejecuta una serie varias veces. El v<strong>al</strong>or <strong>en</strong> la<br />

termin<strong>al</strong> <strong>de</strong> conteo (una termin<strong>al</strong> <strong>de</strong> <strong>en</strong>trada) repres<strong>en</strong>tada por la N, indica cuantas<br />

veces repetir el sub diagrama. La termin<strong>al</strong> <strong>de</strong> iteración (una <strong>en</strong>trada <strong>de</strong> s<strong>al</strong>ida),<br />

mostrada a la izquierda, conti<strong>en</strong>e el numero <strong>de</strong> iteraciones completas. El conteo <strong>de</strong><br />

iteraciones siempre empieza <strong>en</strong> cero. Durante la primera iteración, la termin<strong>al</strong> <strong>de</strong><br />

iteración regresa a cero.<br />

43


Coloque ciclos <strong>en</strong> su diagrama seleccionándolos <strong>de</strong>s<strong>de</strong> la p<strong>al</strong>eta <strong>de</strong> Estructuras <strong>de</strong> la p<strong>al</strong>eta<br />

<strong>de</strong> Funciones (<strong>de</strong>mostrar)<br />

Cuando este seleccionado, el <strong>curso</strong>r <strong>de</strong>l ratón se convierte <strong>en</strong> un puntero especi<strong>al</strong> que<br />

usted usa para<br />

<strong>en</strong>cerrar la sección <strong>de</strong>l código que <strong>de</strong>sea repetir.<br />

Déle clic <strong>al</strong> botón <strong>de</strong>l ratón para <strong>de</strong>finir la esquina superior-izquierda, déle clic otra vez <strong>al</strong><br />

botón <strong>de</strong>l ratón <strong>en</strong><br />

la esquina inferior izquierda, y la frontera <strong>de</strong>l ciclo Mi<strong>en</strong>tras es creada <strong>al</strong>re<strong>de</strong>dor <strong>de</strong>l<br />

código seleccionado.<br />

Arrastre nodos adicion<strong>al</strong>es a<strong>de</strong>ntro <strong>de</strong>l ciclo Mi<strong>en</strong>tras si es necesario.<br />

44


Gráfica <strong>de</strong> forma <strong>de</strong> onda<br />

indicador númerico especi<strong>al</strong><br />

que pue<strong>de</strong> mostrar una<br />

historia <strong>de</strong> v<strong>al</strong>ores<br />

Controles >> Indicadores <strong>de</strong><br />

Gráficas >> Gráfica <strong>de</strong><br />

forma <strong>de</strong> onda<br />

La grafica <strong>de</strong> forma <strong>de</strong> onda es un indicador numérico especi<strong>al</strong> que muestra una o<br />

más graficas (plots). La grafica <strong>de</strong> forma <strong>de</strong> onda esta loc<strong>al</strong>izada <strong>en</strong> la p<strong>al</strong>eta<br />

Controls»Graph Indicators. Las graficas <strong>de</strong> forma <strong>de</strong> onda pue<strong>de</strong>n mostrar<br />

graficas simples o múltiples. El sigui<strong>en</strong>te panel front<strong>al</strong> muestra un ejemplo <strong>de</strong> una<br />

grafica <strong>de</strong> forma <strong>de</strong> onda múltiple.<br />

Usted pue<strong>de</strong> cambiar los v<strong>al</strong>ores min y max <strong>de</strong>l eje x y y dándole doble clic <strong>al</strong> v<strong>al</strong>or<br />

con la herrami<strong>en</strong>tas <strong>de</strong> etiquetado y escribi<strong>en</strong>do el nuevo v<strong>al</strong>or. Similarm<strong>en</strong>te, usted<br />

pue<strong>de</strong> cambiar la etiqueta <strong>de</strong>l eje. También pue<strong>de</strong> darle clic <strong>de</strong>recho a la ley<strong>en</strong>da <strong>de</strong><br />

la grafica y cambiar el estilo, forma y color <strong>de</strong>l dibujo que se muestra <strong>en</strong> la gráfica.<br />

45


Grafica <strong>de</strong> diagrama simple Grafica <strong>de</strong> diagrama múltiple<br />

Usted pue<strong>de</strong> cablear una s<strong>al</strong>ida esc<strong>al</strong>ar directam<strong>en</strong>te a una grafica <strong>de</strong> forma <strong>de</strong> onda<br />

para mostrar un diagrama. Para mostrar múltiples diagramas <strong>en</strong> una grafica, use la<br />

función Merge Sign<strong>al</strong>s <strong>en</strong>contrada <strong>en</strong> la p<strong>al</strong>eta Functions >> Sign<strong>al</strong><br />

Manipulation. La función Merge Sign<strong>al</strong> junta múltiples s<strong>al</strong>idas para diagramar <strong>en</strong><br />

la gráfica <strong>de</strong> forma <strong>de</strong> onda. Para agregar mas diagramas, utilice la herrami<strong>en</strong>ta <strong>de</strong><br />

Posicionami<strong>en</strong>to para cambiar el tamaño <strong>de</strong> la función Merge Sign<strong>al</strong>.<br />

La ayuda <strong>de</strong> contexto conti<strong>en</strong>e muy bu<strong>en</strong>a información <strong>en</strong> como cablear <strong>de</strong><br />

difer<strong>en</strong>tes maneras los datos <strong>de</strong>ntro <strong>de</strong> las graficas.<br />

46


Estudiantes construy<strong>en</strong> el VI Ejemplo <strong>de</strong> Ciclo.vi.<br />

Este ejercicio <strong>de</strong>be tomar <strong>de</strong> 15-20 minutos.<br />

Instrucciones<br />

Cree un VI que g<strong>en</strong>ere un número <strong>al</strong>eatorio a una velocidad especifica y mustre las<br />

lecturas <strong>en</strong> una grafica <strong>de</strong> forma <strong>de</strong> onda hasta que el usuario lo pare. Conecte la<br />

termin<strong>al</strong> <strong>de</strong> terminación a un botón <strong>de</strong> paro <strong>en</strong> el panel front<strong>al</strong>, y agregue un control<br />

<strong>de</strong> <strong>de</strong>slizami<strong>en</strong>to (sli<strong>de</strong>r control) <strong>al</strong> panel <strong>de</strong> control. Este control <strong>de</strong> <strong>de</strong>slizami<strong>en</strong>to<br />

<strong>de</strong>be recorrer <strong>de</strong> 0 a 2000 <strong>en</strong> v<strong>al</strong>or, y será conectado a la función Express VI Time<br />

Delay (<strong>de</strong>mora <strong>de</strong> tiempo) <strong>de</strong>ntro <strong>de</strong> su ciclo Mi<strong>en</strong>tras.<br />

Guar<strong>de</strong> el VI como Use a Loop.vi<br />

47


Construir arreglos manu<strong>al</strong>m<strong>en</strong>te<br />

Dejar que LabVIEW construya arreglos<br />

automáticam<strong>en</strong>te<br />

Escribir a un archivo <strong>de</strong> hoja <strong>de</strong> cálculo (spreadsheet)<br />

Leer <strong>de</strong>s<strong>de</strong> un archivo <strong>de</strong> hoja <strong>de</strong> cálculo (spreadsheet)<br />

Los arreglos agrupan elem<strong>en</strong>tos <strong>de</strong> datos <strong>de</strong>l mismo tipo. Un arreglo consiste <strong>de</strong><br />

elem<strong>en</strong>tos y dim<strong>en</strong>siones. Los elem<strong>en</strong>tos son los datos que compon<strong>en</strong> el arreglo.<br />

Una dim<strong>en</strong>sión es la longitud, <strong>al</strong>tura, o profundidad <strong>de</strong> un arreglo. Un arreglo pue<strong>de</strong><br />

t<strong>en</strong>er una o mas dim<strong>en</strong>siones y hasta 2^31 1 elem<strong>en</strong>tos por dim<strong>en</strong>sión, si lo<br />

permite la memoria.<br />

Usted pue<strong>de</strong> construir arreglos <strong>de</strong> tipos <strong>de</strong> datos numéricos, Booleanos, rutas,<br />

ca<strong>de</strong>nas, formas <strong>de</strong> onda y cluster data. Consi<strong>de</strong>re usar arreglos cuando trabaje con<br />

una colección <strong>de</strong> datos similares y cuando re<strong>al</strong>ice computaciones repetitivas. Los<br />

arreglos son i<strong>de</strong><strong>al</strong>es para <strong>al</strong>mac<strong>en</strong>ar información que se obti<strong>en</strong>e <strong>de</strong> formas <strong>de</strong> ondas<br />

o información g<strong>en</strong>erada <strong>en</strong> los ciclos, don<strong>de</strong> cada iteración <strong>de</strong> un ciclo produce un<br />

elem<strong>en</strong>to <strong>de</strong>l arreglo.<br />

Los elem<strong>en</strong>tos <strong>de</strong>l arreglo son or<strong>de</strong>nados. Un arreglo utiliza un índice para que<br />

usted pueda t<strong>en</strong>er acceso rápido a cu<strong>al</strong>quier elem<strong>en</strong>to <strong>en</strong> particular. El índice es<br />

basado <strong>en</strong> cero, lo que significa que ti<strong>en</strong>e un rango <strong>de</strong> 0 a n 1, don<strong>de</strong> n es el<br />

numero <strong>de</strong> elem<strong>en</strong>tos <strong>en</strong> el arreglo. Por ejemplo, n = 9 para los nueve planetas, así<br />

que el índice recorre <strong>de</strong> 0 a 8. La Tierra es el tercer planeta, así que ti<strong>en</strong>e un índice<br />

<strong>de</strong> 2.<br />

Las operaciones <strong>de</strong> Entrada/S<strong>al</strong>ida <strong>de</strong> archivo (I/O) pasan los datos <strong>de</strong>s<strong>de</strong> y a los<br />

archivos. Utilice los VI <strong>de</strong> File I/O y las funciones loc<strong>al</strong>izadas <strong>en</strong> la p<strong>al</strong>eta<br />

Functions » File I/O para manejar todos aspectos <strong>de</strong> I/O <strong>de</strong> archivo. En esta clase<br />

nosotros cubriremos la lectura y escritura <strong>de</strong> archivos <strong>de</strong> hoja <strong>de</strong> cálculo<br />

(spreadsheet) utilizando el Express VIs para File I/O.<br />

48


Des<strong>de</strong> la sub-p<strong>al</strong>eta <strong>de</strong> Controls >> All Controls<br />

>> Array and Cluster, seleccione el Array Shell<br />

Colóquelo <strong>en</strong> la pant<strong>al</strong>la.<br />

Para crear un control o indicador <strong>de</strong> un arreglo como el mostrado, escoja un arreglo<br />

(array) <strong>en</strong> la p<strong>al</strong>eta Controls » All Controls » Arrays & Cluster, colóquelo <strong>en</strong> el<br />

panel front<strong>al</strong>, y arrastre un control o un indicador a<strong>de</strong>ntro <strong>de</strong> la estructura (shell) <strong>de</strong>l<br />

arreglo. Si usted procura arrastrar un control o indicador inválidos t<strong>al</strong>es como una<br />

gráfica XY a<strong>de</strong>ntro <strong>de</strong> la estructura <strong>de</strong>l arreglo, usted sera incapaz <strong>de</strong> <strong>de</strong>jar caer el<br />

control o el indicador <strong>en</strong> la estructura <strong>de</strong>l arreglo.<br />

Usted <strong>de</strong>be insertar un objeto <strong>en</strong> la estructura <strong>de</strong>l arreglo antes <strong>de</strong> que usted utilice<br />

el arreglo <strong>en</strong> el diagrama <strong>de</strong> bloques. De otro modo, la termin<strong>al</strong> <strong>de</strong>l arreglo aparece<br />

negra con un paréntesis vacío.<br />

49


Situé el objeto <strong>de</strong> datos <strong>de</strong>ntro <strong>de</strong>l shell (Ej. Control Numérico)<br />

Para agregar las dim<strong>en</strong>siones a un arreglo <strong>de</strong> uno <strong>en</strong> uno, hace clic <strong>de</strong>recho <strong>en</strong> el<br />

<strong>de</strong>spliegue <strong>de</strong>l índice y seleccione Add Dim<strong>en</strong>sion <strong>de</strong>l m<strong>en</strong>ú <strong>de</strong> atajo. Usted pue<strong>de</strong><br />

utilizar también la herrami<strong>en</strong>ta que Posicionami<strong>en</strong>to para cambiar el tamaño <strong>de</strong>l<br />

<strong>de</strong>spliegue <strong>de</strong>l índice hasta que usted t<strong>en</strong>ga las dim<strong>en</strong>siones que usted quiera.<br />

50


Los ciclos acumulan arreglos <strong>en</strong> sus limites.<br />

Si se cablea un arreglo a un tunel <strong>de</strong> <strong>en</strong>trada <strong>de</strong> un ciclo Para (For Loop) o<br />

un ciclo Mi<strong>en</strong>tras (While Loop), usted pue<strong>de</strong> leer y procesar cada elem<strong>en</strong>to<br />

<strong>en</strong> ese arreglo <strong>al</strong> activar el auto-in<strong>de</strong>xing (auto-indicación). Cuando usted<br />

utiliza el auto-índice <strong>en</strong> un arreglo <strong>de</strong> túnel <strong>de</strong> s<strong>al</strong>ida el arreglo <strong>de</strong> s<strong>al</strong>ida<br />

recibe un nuevo elem<strong>en</strong>to por cada iteración <strong>de</strong>l ciclo. El cable que va <strong>de</strong>l<br />

túnel <strong>de</strong> s<strong>al</strong>ida <strong>al</strong> arreglo indicador se vuelve mas grueso <strong>al</strong> cambiar a un<br />

arreglo <strong>en</strong> el bor<strong>de</strong> <strong>de</strong>l ciclo, y el túnel <strong>de</strong> s<strong>al</strong>ida conti<strong>en</strong>e corchetes<br />

cuadrados repres<strong>en</strong>tando un arreglo, como se muestra <strong>en</strong> la sigui<strong>en</strong>te<br />

ilustración.<br />

Desactive el auto-indicador <strong>al</strong> hacer un clic <strong>de</strong>recho <strong>en</strong> el tunel y seleccionar<br />

Disable In<strong>de</strong>xing (<strong>de</strong>sactivar Indicacion) <strong>de</strong>s<strong>de</strong> el m<strong>en</strong>u <strong>de</strong> atajo. Por<br />

ejemplo, <strong>de</strong>sactive el auto-indicador si necesita únicam<strong>en</strong>te el ultimo v<strong>al</strong>or<br />

pasado <strong>al</strong> tunel <strong>en</strong> ejemplo anterior, sin crear un arreglo.<br />

Nota: Debido a que usted pue<strong>de</strong> utilizar ciclos Para (For<br />

Loops) para procesar arreglos y elem<strong>en</strong>to a la misma vez, LabVIEW, activa<br />

el auto-indicador como opción por <strong>de</strong>fecto para cada arreglo que<br />

se cablee a un Ciclo Para. El Auto-Indicador para Ciclos Mi<strong>en</strong>tras (While<br />

Loops) esta <strong>de</strong>sactivados por <strong>de</strong>fecto. Para activar el autoindicador,<br />

haga clic <strong>de</strong>recho <strong>en</strong> un tunel y seleccione Enable In<strong>de</strong>xing <strong>de</strong>l<br />

m<strong>en</strong>u <strong>de</strong> atajo.<br />

Si usted activa el auto-indicador <strong>en</strong> un arreglo cableado a una termin<strong>al</strong> <strong>de</strong><br />

<strong>en</strong>trada <strong>de</strong> un Ciclo Para, LabVIEW arregla el contador <strong>de</strong> la termin<strong>al</strong> <strong>al</strong><br />

tamaño <strong>de</strong>l arreglo para que así usted no t<strong>en</strong>ga que cablear la termin<strong>al</strong> <strong>de</strong>l<br />

51


Se pue<strong>de</strong>n utilizar dos Ciclos Para, uno <strong>de</strong>ntro <strong>de</strong>l otro, para crear arreglos<br />

bidim<strong>en</strong>sion<strong>al</strong>es. El Ciclo Para externo crea las filas <strong>de</strong> elem<strong>en</strong>tos y el Ciclo<br />

Para interno crea las columnas <strong>de</strong> elem<strong>en</strong>tos.<br />

52


Manejo <strong>de</strong> Archivos transferir datos a y <strong>de</strong>s<strong>de</strong> archivos<br />

- Los Archivos pue<strong>de</strong>n ser binarios, texto u hojas <strong>de</strong> c<strong>al</strong>culo<br />

- Escritura/Lectura <strong>de</strong> Archivos <strong>de</strong> Medición <strong>de</strong> LabVIEW<br />

(LabVIEW Measurem<strong>en</strong>ts *.lvm)<br />

Escritura <strong>en</strong> Archivo LVM Lectura <strong>de</strong> un Archivo LVM<br />

Operaciones <strong>de</strong> Entradas y S<strong>al</strong>idas <strong>de</strong> archivo (File I/O) pasan datos <strong>de</strong>s<strong>de</strong><br />

y hacia archivos. En LabVIEW, usted pue<strong>de</strong> utilizar funciones <strong>de</strong> archivo I/O<br />

para:<br />

Abrir y cerrar archivos <strong>de</strong> datos.<br />

Lectura <strong>de</strong> datos <strong>de</strong>s<strong>de</strong> y escribir datos a archivos<br />

Lectura y escritura <strong>de</strong> datos a docum<strong>en</strong>tos <strong>en</strong> formato <strong>de</strong> hoja <strong>de</strong> c<strong>al</strong>culo<br />

(spreadsheet)<br />

Mover y retitular los archivos y directorios<br />

Cambiar las características <strong>de</strong>l archivo<br />

Crear, modificar, y leer archivos <strong>de</strong> configuración<br />

Escribir a o leer <strong>en</strong> archivos <strong>de</strong> Medición LabVIEW (LabVIEW Measurem<strong>en</strong>t<br />

Files).<br />

En este <strong>curso</strong> examinaremos cómo escribir a o leer <strong>de</strong>s<strong>de</strong> archivos <strong>de</strong><br />

Medición LabVIEW (archivos *.lvm).<br />

53


El archivo <strong>de</strong> escritura LVM pue<strong>de</strong> escribir a archivos <strong>de</strong> hoja <strong>de</strong> c<strong>al</strong>culo<br />

(spreadsheet). Sin embargo, su propósito princip<strong>al</strong> es el <strong>de</strong> introducir datos, que<br />

luego seran utilizados <strong>en</strong> LabVIEW. Este VI crea un archivo .lvm que se pue<strong>de</strong><br />

abrir <strong>en</strong> una aplicación <strong>de</strong> hoja <strong>de</strong> c<strong>al</strong>culo. Para los archivos <strong>de</strong> hoja <strong>de</strong> c<strong>al</strong>culo<br />

simple, utilice el VIs expreso: Write LVM y Read LVM.<br />

54


Los Estudiantes construy<strong>en</strong> el VI Logger <strong>de</strong> Temperatura.vi<br />

Tiempo <strong>de</strong> completación estimado: 30-45 minutos.<br />

Instrucciones:<br />

Cree un VI que adquiera y exhiba datos <strong>de</strong> temperatura a una velocidad fija<br />

hasta que el usuario lo <strong>de</strong>t<strong>en</strong>ga. Si usted ha terminado el ejercicio 2 y ti<strong>en</strong>e<br />

una tarjeta DAQ, utilice Thermometer.vi para obt<strong>en</strong>er sus datos. Si usted no<br />

ha terminado el ejercicio ni ti<strong>en</strong>e una tarjeta <strong>de</strong> DAQ, usted pue<strong>de</strong> utilizar el<br />

Digit<strong>al</strong> Thermometer.vi <strong>de</strong> la subp<strong>al</strong>eta Tutori<strong>al</strong> <strong>de</strong> la p<strong>al</strong>eta <strong>de</strong> funciones.<br />

Una vez que esté parado, el VI <strong>de</strong>be re<strong>al</strong>izar análisis <strong>en</strong> los datos que<br />

recogió mi<strong>en</strong>tras estaba corri<strong>en</strong>do. Acumule un arreglo <strong>de</strong> puntos y <strong>de</strong><br />

v<strong>al</strong>ores <strong>en</strong> la frontera <strong>de</strong>l túnel <strong>de</strong>l Ciclo Mi<strong>en</strong>tras (While Loop). Encu<strong>en</strong>tre el<br />

máximo, el mínimo, y el v<strong>al</strong>or medio <strong>de</strong> los datos <strong>de</strong> la temperatura y<br />

exhíb<strong>al</strong>os <strong>en</strong> indicadores numéricos (la función Mean (media) pue<strong>de</strong> ser<br />

<strong>en</strong>contrada <strong>en</strong> Functions» An<strong>al</strong>yze» Mathematics» Probability and<br />

Statistics, y la función Array Max & Min (máximo y mínimo <strong>de</strong> un arreglo)<br />

pue<strong>de</strong> ser <strong>en</strong>contrada <strong>en</strong> Functions» Array). Utilice el Write LabVIEW<br />

Measurem<strong>en</strong>ts File Express VI (VI <strong>de</strong> escritura expreso <strong>de</strong> docum<strong>en</strong>tos <strong>de</strong><br />

medición LabVIEW) que pue<strong>de</strong> ser <strong>en</strong>contrado <strong>en</strong> Functions» Output. Una<br />

vez que se corra, verifique que el archivo fue creado correctam<strong>en</strong>te<br />

abriéndolo <strong>en</strong> Notepad o creando un VI que lo lea <strong>de</strong> nuevo utilizando el<br />

Read LabVIEW Measurem<strong>en</strong>ts File. Una vez que haya terminado el ejercicio,<br />

guar<strong>de</strong> su VI como Logger <strong>de</strong> Temperatura.vi.<br />

55


Funciones Básicas <strong>de</strong> los Arreglos<br />

Uso <strong>de</strong> gráficos<br />

Crear Diagramas Múltiples con Gráficos<br />

Haga click para adicionar notas.<br />

56


Functions >> All Functions >> Array<br />

Utilice las funciones <strong>de</strong> los arreglos situadas <strong>en</strong> la p<strong>al</strong>eta Functions» All<br />

Functions» Array para crear y para manipular arreglos.<br />

Las funciones <strong>de</strong> los arreglo incluy<strong>en</strong> las sigui<strong>en</strong>tes:<br />

Array Size (Tamaño <strong>de</strong>l Arreglo) <strong>de</strong>vuelve el número <strong>de</strong> elem<strong>en</strong>tos <strong>en</strong><br />

cada dim<strong>en</strong>sión <strong>de</strong> un arreglo. Si el arreglo es <strong>de</strong> n-dim<strong>en</strong>siones, el tamaño<br />

(size) <strong>de</strong> la s<strong>al</strong>ida es un arreglo <strong>de</strong> n elem<strong>en</strong>tos.<br />

Initi<strong>al</strong>ize Array (Inici<strong>al</strong>izar el Arreglo) crea un arreglo <strong>de</strong> n dim<strong>en</strong>siones<br />

<strong>en</strong> don<strong>de</strong> cada elem<strong>en</strong>to ha sido inici<strong>al</strong>izado <strong>al</strong> v<strong>al</strong>or <strong>de</strong>l elem<strong>en</strong>to<br />

(elem<strong>en</strong>t). Cambie el tamaño <strong>de</strong> la funcion para increm<strong>en</strong>tar el numero <strong>de</strong><br />

dim<strong>en</strong>siones <strong>de</strong>l arreglo <strong>de</strong> s<strong>al</strong>ida.<br />

Build Array (Construcción <strong>de</strong>l Arreglo) -- concat<strong>en</strong>a arreglos múltiples o<br />

aña<strong>de</strong> elem<strong>en</strong>tos a un arreglo <strong>de</strong> n dim<strong>en</strong>siones. Cambie el tamaño <strong>de</strong> la<br />

funcion para increm<strong>en</strong>tar el numero <strong>de</strong> dim<strong>en</strong>siones <strong>de</strong>l arreglo <strong>de</strong> s<strong>al</strong>ida.<br />

Array Subset (Subconjunto <strong>de</strong> Arreglo) <strong>de</strong>vuelve parte <strong>de</strong> un arreglo que<br />

comi<strong>en</strong>za <strong>en</strong> el índice y que conti<strong>en</strong>e elem<strong>en</strong>tos <strong>de</strong> la longitud.<br />

In<strong>de</strong>x Array (Indice <strong>de</strong>l Arreglo) <strong>de</strong>vuelve un elem<strong>en</strong>to <strong>de</strong> un arreglo <strong>en</strong><br />

el índice. Usted también pue<strong>de</strong> utilizar la función Indice <strong>de</strong>l Arreglo para<br />

extraer una fila o una columna <strong>de</strong> un arreglo bidim<strong>en</strong>sion<strong>al</strong> para asi crear un<br />

subarreglo <strong>de</strong>l origin<strong>al</strong>. Para hacer esto cablee un arreglo bidim<strong>en</strong>sion<strong>al</strong> a la<br />

<strong>en</strong>trada <strong>de</strong> la función. Dos termin<strong>al</strong>es <strong>de</strong> índice están disponibles. La<br />

termin<strong>al</strong> <strong>de</strong>l indice superior indica la fila, y la segunda termin<strong>al</strong> indica la<br />

columna. Usted pue<strong>de</strong> cablear <strong>en</strong>tradas a ambas termin<strong>al</strong>es <strong>de</strong> índice para<br />

indicar un solo elem<strong>en</strong>to, o usted pue<strong>de</strong> cablear solam<strong>en</strong>te una termin<strong>al</strong><br />

para extraer una fila o una columna <strong>de</strong> datos. Por ejemplo, cablee el arreglo<br />

sigui<strong>en</strong>te a la <strong>en</strong>trada <strong>de</strong> la función.<br />

57


Build Array (Construcción <strong>de</strong> Arreglos) pue<strong>de</strong> re<strong>al</strong>izar dos funciones<br />

distintas. Concat<strong>en</strong>a múltiples arreglos o aña<strong>de</strong> elem<strong>en</strong>tos a un arreglo <strong>de</strong> n<br />

dim<strong>en</strong>siones. Cambie el tamaño <strong>de</strong> la función para increm<strong>en</strong>tar el numero<br />

<strong>de</strong> dim<strong>en</strong>siones <strong>de</strong>l arreglo <strong>de</strong> s<strong>al</strong>ida. Para concat<strong>en</strong>ar las <strong>en</strong>tradas <strong>en</strong> un<br />

arreglo más largo <strong>de</strong> la misma dim<strong>en</strong>sión según lo <strong>de</strong>mostrado <strong>en</strong> el<br />

sigui<strong>en</strong>te arreglo, haga click <strong>de</strong>recho <strong>en</strong> el nodo <strong>de</strong> la función y seleccione<br />

Concat<strong>en</strong>ate Inputs (Concat<strong>en</strong>ar Entradas) <strong>de</strong>s<strong>de</strong> el m<strong>en</strong>ú <strong>de</strong> atajo.<br />

58


Seleccionados <strong>de</strong>s<strong>de</strong> la P<strong>al</strong>eta <strong>de</strong> Controles <strong>de</strong>l M<strong>en</strong>u<br />

Controls >> All Controls >> Graphs<br />

Grafico <strong>de</strong> Forma <strong>de</strong> Onda<br />

(Waveform Waveform Graph) Graph Grafica un<br />

arreglo <strong>de</strong> numeros <strong>en</strong> contra <strong>de</strong> sus<br />

indices<br />

Grafico XY Expreso (Express XY<br />

Graph) Graph Grafica un array <strong>en</strong> contra<br />

<strong>de</strong> otro<br />

Grafico <strong>de</strong> Forma <strong>de</strong> Onda Digit<strong>al</strong><br />

(Digit<strong>al</strong> Digit<strong>al</strong> Waveform Graph) Graph<br />

Grafica bits <strong>de</strong> datos binarios<br />

VIs con gráficos usu<strong>al</strong>m<strong>en</strong>te recolectan los datos <strong>en</strong> un arreglo y <strong>de</strong>spués<br />

dibujan estos datos <strong>en</strong> una gráfica.<br />

Los gráficos situados <strong>en</strong> la p<strong>al</strong>eta Controls» All Controls» Graph incluy<strong>en</strong><br />

el gráfico <strong>de</strong> forma <strong>de</strong> onda y el gráfico XY. El diagrama <strong>de</strong>l gráfico <strong>de</strong> forma<br />

<strong>de</strong> onda traza solam<strong>en</strong>te funciones <strong>de</strong> una sola variable, como <strong>en</strong> y = f(x),<br />

con puntos distribuidos uniformem<strong>en</strong>te a lo largo <strong>de</strong>l eje x, t<strong>al</strong> como formas<br />

<strong>de</strong> onda adquiridas con tiempo variable. Los gráficos expresos XY exhib<strong>en</strong><br />

cu<strong>al</strong>quier set <strong>de</strong> puntos, ya sea que estos sean muestreados uniformem<strong>en</strong>te<br />

o no. Cambie el tamaño <strong>de</strong> la ley<strong>en</strong>da <strong>de</strong> la grafica para exhibir múltiples<br />

diagramas. Utilice diagramas múltiples para ahorrar espacio <strong>en</strong> el panel<br />

front<strong>al</strong> y para hacer hacer comparaciones <strong>en</strong>tre diagramas. Los gráficos XY<br />

y <strong>de</strong> forma <strong>de</strong> onda se adaptan automáticam<strong>en</strong>te a los diagramas múltiples.<br />

Grafica <strong>de</strong> Forma <strong>de</strong> Onda <strong>de</strong> Trazo-Simple (Single-Plot Waveform<br />

Graph)<br />

Los gráficos <strong>de</strong> forma <strong>de</strong> onda aceptan un solo arreglo <strong>de</strong> v<strong>al</strong>ores e<br />

interpreta los datos como puntos <strong>en</strong> el gráfico e increm<strong>en</strong>ta el indice x por<br />

uno com<strong>en</strong>zando <strong>en</strong> x = 0. El gráfico también acepta un cluster <strong>de</strong> un v<strong>al</strong>or<br />

inici<strong>al</strong> x, un .x, y <strong>de</strong> un arreglo <strong>de</strong> datos y. Refierase <strong>al</strong> VI <strong>de</strong>l gráfico <strong>de</strong><br />

forma <strong>de</strong> onda (Waveform Graph VI) <strong>en</strong><br />

examples\g<strong>en</strong>er<strong>al</strong>\graphs\g<strong>en</strong>graph.llb para <strong>en</strong>contrar ejemplos <strong>de</strong> los tipos<br />

<strong>de</strong> datos que los gráficos <strong>de</strong> forma <strong>de</strong> onda <strong>de</strong> trazo-simple aceptan.<br />

59


Grafico <strong>de</strong> Forma <strong>de</strong> Onda <strong>de</strong> Trazo- Múltiple<br />

Los gráficos <strong>de</strong> forma <strong>de</strong> onda <strong>de</strong> trazo múltiple aceptan un arreglo bidim<strong>en</strong>sion<strong>al</strong> <strong>de</strong><br />

v<strong>al</strong>ores, <strong>en</strong> don<strong>de</strong> cada fila <strong>de</strong>l arreglo es una grafica s<strong>en</strong>cilla. La gráfica interpreta los datos<br />

como puntos <strong>en</strong> la gráfica e increm<strong>en</strong>ta el indice x por uno, com<strong>en</strong>zando <strong>en</strong> x = 0. Cablee<br />

un arreglo <strong>de</strong> datos bidim<strong>en</strong>sion<strong>al</strong>es a la gráfica, haga clic <strong>de</strong>recho <strong>en</strong> la gráfica, y<br />

seleccione Transpose Array (arreglo transpuesto) <strong>de</strong>l m<strong>en</strong>ú <strong>de</strong> atajo para manejar cada<br />

columna <strong>de</strong>l arreglo como un diagrama aparte. Refiérase <strong>al</strong> (Y) Multi Plot 1 graph <strong>en</strong> el VI<br />

<strong>de</strong> Waveform Graph <strong>en</strong> examples\g<strong>en</strong>er<strong>al</strong>\graphs\g<strong>en</strong>graph.llb para <strong>en</strong>contrar un ejemplo<br />

<strong>de</strong> un gráfico que acepte este tipo <strong>de</strong> datos.<br />

Un gráfico <strong>de</strong> forma <strong>de</strong> onda <strong>de</strong> diagramas múltiples también acepta un cluster <strong>de</strong> un v<strong>al</strong>or<br />

x, un v<strong>al</strong>or x , y <strong>de</strong> un arreglo bidim<strong>en</strong>sion<strong>al</strong> <strong>de</strong> datos y. El gráfico interpreta los datos <strong>de</strong> y<br />

como los puntos <strong>en</strong> el gráfico e increm<strong>en</strong>ta el indice x por x, com<strong>en</strong>zando <strong>en</strong> x = 0.<br />

Refierase a (Xo, x, Y) Multi Plot 3 graph <strong>en</strong> el VI <strong>de</strong> Waveform Graph que se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong><br />

examples\g<strong>en</strong>er<strong>al</strong>\graphs\g<strong>en</strong>graph.llb para <strong>en</strong>contrar un ejemplo <strong>de</strong> un gráfico que acepte<br />

este tipo <strong>de</strong> datos.<br />

Un gráfico <strong>de</strong> forma <strong>de</strong> onda <strong>de</strong> diagramas múltiples acepta un cluster <strong>de</strong> un v<strong>al</strong>or inici<strong>al</strong> x,<br />

<strong>de</strong> un v<strong>al</strong>or .x, y <strong>de</strong> un arreglo que cont<strong>en</strong>ga clusters. Cada cluster conti<strong>en</strong>e un arreglo <strong>de</strong><br />

puntos que conti<strong>en</strong>e los datos <strong>de</strong> y. Usted utiliza la función <strong>de</strong> Bundle (empaquetado) para<br />

empaquetar los arreglos <strong>en</strong> clusters, y usted utiliza la función <strong>de</strong> Build Array (construir<br />

arreglo) para construir los clusters resultantes <strong>en</strong> un arreglo. Usted también pue<strong>de</strong> utilizar el<br />

Build Cluster Array (construir arreglo <strong>de</strong> clusters), el cu<strong>al</strong> crea arreglos <strong>de</strong> clusters que<br />

conti<strong>en</strong><strong>en</strong> <strong>en</strong>tradas que usted especifica. Refiérase a (Xo, x, Y) Multi Plot 2 <strong>en</strong> el VI <strong>de</strong><br />

Waveform Graph que se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> examples\g<strong>en</strong>er<strong>al</strong>\graphs\g<strong>en</strong>graph.llb para<br />

<strong>en</strong>contrar un ejemplo <strong>de</strong> un gráfico que acepte este tipo <strong>de</strong> datos.<br />

Single-Plot XY Graph (Grafica XY <strong>de</strong> Trazo Simple)<br />

Los gráficos XY <strong>de</strong> trazo simple aceptan un cluster que cont<strong>en</strong>ga un arreglo x y un arreglo<br />

y. El gráfico <strong>de</strong> XY también acepta un arreglo <strong>de</strong> puntos, <strong>en</strong> don<strong>de</strong> un punto es un cluster<br />

que conti<strong>en</strong>e un v<strong>al</strong>or <strong>de</strong> x y un v<strong>al</strong>or <strong>de</strong> y. Refiérase <strong>al</strong> VI <strong>de</strong> XY Graph <strong>en</strong><br />

examples\g<strong>en</strong>er<strong>al</strong>\graph\g<strong>en</strong>graph.llb para <strong>en</strong>contrar un ejemplo <strong>de</strong>l tipo <strong>de</strong> datos <strong>de</strong> los<br />

gráficos <strong>de</strong> XY <strong>de</strong> trazo simple.<br />

MultiPlot XY Graph (Grafica XY <strong>de</strong> diagramas múltiples)<br />

La Grafica XY <strong>de</strong> diagramas múltiples acepta un arreglo <strong>de</strong> diagramas, <strong>en</strong> don<strong>de</strong> un<br />

diagrama es un cluster que conti<strong>en</strong>e un arreglo x y un arreglo y. La Grafica XY <strong>de</strong><br />

diagramas múltiples también acepta un arreglo <strong>de</strong> clusters <strong>de</strong> diagramas, <strong>en</strong> don<strong>de</strong> una<br />

grafica es un arreglo <strong>de</strong> puntos. Un punto es un cluster que conti<strong>en</strong>e un v<strong>al</strong>or x y un v<strong>al</strong>or y.<br />

Refiérase <strong>al</strong> VI <strong>de</strong>l XY Graph <strong>en</strong>contrado <strong>en</strong> examples\g<strong>en</strong>er<strong>al</strong>\graph\g<strong>en</strong>graph.llb para<br />

<strong>en</strong>contrar un ejemplo <strong>de</strong> los tipos <strong>de</strong> datos <strong>de</strong>l Grafico XY <strong>de</strong> diagramas múltiples.<br />

60


Haga Clic Derecho <strong>en</strong> la grafica y seleccione Properties<br />

(propieda<strong>de</strong>s) para po<strong>de</strong>r person<strong>al</strong>izar interactivam<strong>en</strong>te<br />

Los Gráficos son indicadores muy po<strong>de</strong>rosos <strong>en</strong> LabVIEW. Pue<strong>de</strong>n ser<br />

<strong>al</strong>tam<strong>en</strong>te adaptables y pue<strong>de</strong>n ser usados para mostrar <strong>de</strong> forma concisa<br />

una gran cantidad <strong>de</strong> información.<br />

La pagina <strong>de</strong> propieda<strong>de</strong>s <strong>de</strong> las Graficas le permite mostrar las opciones<br />

<strong>de</strong> configuración, esc<strong>al</strong>a, <strong>curso</strong>res y muchas otras características <strong>de</strong> las<br />

gráficas.<br />

61


Tiempo De Completación Estimado: 20 minutos.<br />

Cree un VI como el que esta repres<strong>en</strong>tado arriba. El VI <strong>de</strong>be utilizar un Ciclo<br />

Mi<strong>en</strong>tras (While Loop) con 100 milisegundos <strong>de</strong> retraso para g<strong>en</strong>erar<br />

continuam<strong>en</strong>te formas <strong>de</strong> onda s<strong>en</strong>o y cuadradas y mostrarlas <strong>en</strong> un gráfico<br />

<strong>de</strong> forma <strong>de</strong> onda. Utilice el VI expreso Simulate Sign<strong>al</strong> Express VI <strong>de</strong> la<br />

p<strong>al</strong>eta Functions» Input para g<strong>en</strong>erar las señ<strong>al</strong>es. La <strong>en</strong>trada <strong>de</strong> la<br />

frecu<strong>en</strong>cia para cada función es elegida por el usuario.<br />

Cambie los colores, los artículos visibles, y los estilos <strong>de</strong> diagramado <strong>de</strong>l<br />

gráfico. Experim<strong>en</strong>te con <strong>al</strong>gunas <strong>de</strong> las opciones <strong>de</strong> <strong>curso</strong>r y <strong>de</strong> zoom<br />

disponibles.<br />

62


Haga click para adicionar notas.<br />

63


Una ca<strong>de</strong>na es una secu<strong>en</strong>cia <strong>de</strong> caracteres <strong>de</strong>splegables o no <strong>de</strong>splegables (ASCII).<br />

Las Ca<strong>de</strong>nas se usan frecu<strong>en</strong>tem<strong>en</strong>te para <strong>en</strong>viar comandos a instrum<strong>en</strong>tos, para<br />

proveer información acerca <strong>de</strong> pruebas (t<strong>al</strong>es como el nombre <strong>de</strong>l operador y la<br />

fecha), o para <strong>de</strong>splegar resultados a el usuario.<br />

Los Controles e indicadores <strong>de</strong> Ca<strong>de</strong>na se <strong>en</strong>cu<strong>en</strong>tran <strong>en</strong> la subp<strong>al</strong>eta Text Control<br />

o Text Indicator <strong>de</strong> la p<strong>al</strong>eta <strong>de</strong> Controles.<br />

Introduzca o cambie texto utilizando la herrami<strong>en</strong>ta <strong>de</strong> texto (Text Tool) y<br />

presionado con el mouse el control <strong>de</strong> ca<strong>de</strong>na (String Control).<br />

Las Ca<strong>de</strong>nas pue<strong>de</strong>n variar <strong>en</strong> su tamaño.<br />

Las Ca<strong>de</strong>nas <strong>de</strong> Indicadores y Controles pue<strong>de</strong>n t<strong>en</strong>er barras <strong>de</strong> movimi<strong>en</strong>to (Scroll<br />

Bars): Haga clic con el botón <strong>de</strong>recho <strong>de</strong>l mouse y seleccione Visible Items»<br />

Scrollbar. La barra <strong>de</strong> movimi<strong>en</strong>to no se activara si el Control o el Indicador no son<br />

lo sufici<strong>en</strong>tem<strong>en</strong>te gran<strong>de</strong>s.<br />

64


Estructura <strong>de</strong> Datos que agrupa datos juntos.<br />

Los Datos pue<strong>de</strong>n ser <strong>de</strong> difer<strong>en</strong>tes tipos.<br />

Semejante a una estructura (struct) <strong>en</strong> C++<br />

Los elem<strong>en</strong>tos <strong>de</strong>b<strong>en</strong> <strong>de</strong> ser ya sea, todos<br />

Controles o todos Indicadores<br />

Se pue<strong>de</strong> consi<strong>de</strong>rar como un conjunto <strong>de</strong><br />

<strong>al</strong>ambres agrupados <strong>en</strong> un cable.<br />

Los Clusters, agrupan compon<strong>en</strong>tes igu<strong>al</strong>es o <strong>de</strong>sigu<strong>al</strong>es juntos.<br />

Es equiv<strong>al</strong><strong>en</strong>te a un Record <strong>en</strong> Pasc<strong>al</strong> o una Struct <strong>en</strong> C.<br />

Los Compon<strong>en</strong>tes <strong>de</strong> los Clusters pue<strong>de</strong>n ser <strong>de</strong> difer<strong>en</strong>tes tipos <strong>de</strong> datos.<br />

Ejemplos:<br />

Información <strong>de</strong> Error Agrupando una señ<strong>al</strong> <strong>de</strong> error Booleano, un codigo<br />

<strong>de</strong> error numerico, y un ca<strong>de</strong>na <strong>de</strong> orig<strong>en</strong> <strong>de</strong> un error para especificar el<br />

error exacto.<br />

Información <strong>de</strong> Usuario Agrupando una ca<strong>de</strong>na indicando el nombre <strong>de</strong>l<br />

usuario y su numero <strong>de</strong> i<strong>de</strong>ntifiacion (ID) especificando el codigo <strong>de</strong><br />

seguridad.<br />

Todos los elem<strong>en</strong>tos <strong>de</strong> un Cluster <strong>de</strong>b<strong>en</strong> ser ya sea Indicadores o Controles. No se<br />

pue<strong>de</strong> t<strong>en</strong>er una Control <strong>de</strong> Ca<strong>de</strong>na y un Indicador Booleano.<br />

Los Clusters se pue<strong>de</strong>n consi<strong>de</strong>rar como un grupo <strong>de</strong> <strong>al</strong>ambres individu<strong>al</strong>es (datos)<br />

juntos <strong>en</strong> un cable (cluster).<br />

65


Demostrar como crear un cluster <strong>en</strong> el panel front<strong>al</strong> escogi<strong>en</strong>do Cluster <strong>de</strong>s<strong>de</strong> la<br />

p<strong>al</strong>eta Controls » All Controls » Array & Cluster.<br />

Esta opción le brinda una pre-forma (shell) parecida a la pre-forma obt<strong>en</strong>ida <strong>al</strong><br />

crear arreglos.<br />

Uno pue<strong>de</strong> cambiarle el tamaño a la pre-forma una vez esta se ha seleccionado.<br />

Haga clic <strong>de</strong>recho a<strong>de</strong>ntro <strong>de</strong> la pre-forma para añadir objetos <strong>de</strong> cu<strong>al</strong>quier tipo.<br />

Nota: Usted inclusive pue<strong>de</strong> t<strong>en</strong>er un cluster a<strong>de</strong>ntro <strong>de</strong> un cluster.<br />

El cluster se convierte <strong>en</strong> un Indicador o Control basado <strong>en</strong> el primer objeto que fue<br />

ingresado <strong>de</strong>ntro <strong>de</strong>l Grupo.<br />

Usted también pue<strong>de</strong> crear una constante <strong>de</strong> cluster <strong>en</strong> el diagrama <strong>de</strong> bloque<br />

escogi<strong>en</strong>do Cluster Constant <strong>de</strong> la p<strong>al</strong>eta Cluster.<br />

Esto le brinda una pre-forma (shell) <strong>de</strong> cluster vacía.<br />

Usted pue<strong>de</strong> darle cu<strong>al</strong>quier tamaño <strong>al</strong> cluster una vez ingresado.<br />

Pue<strong>de</strong> Introducir otras constantes <strong>de</strong>ntro <strong>de</strong> la pre-forma (Shell).<br />

Nota: Usted no pue<strong>de</strong> colocar termin<strong>al</strong>es para los objetos <strong>de</strong>l panel front<strong>al</strong> <strong>en</strong> una<br />

constante <strong>de</strong> cluster <strong>en</strong> el diagrama <strong>de</strong> bloques, ni tampoco pue<strong>de</strong> colocar<br />

constantes especi<strong>al</strong>es como el Tab o una Ca<strong>de</strong>na <strong>de</strong> caracteres vacías <strong>de</strong>ntro <strong>de</strong><br />

una pre-forma <strong>de</strong> cluster vacia.<br />

66


Están ubicadas <strong>en</strong> la subp<strong>al</strong>eta <strong>de</strong> Cluster <strong>de</strong> la<br />

p<strong>al</strong>eta Functions>>All functions.<br />

También pue<strong>de</strong> ser accesada haci<strong>en</strong>do clic con el<br />

botón <strong>de</strong>recho <strong>de</strong>l mouse <strong>en</strong> la termin<strong>al</strong> <strong>de</strong>l Grupo.<br />

Bundle<br />

(Agrupar)<br />

(Las etiquetas <strong>de</strong> la<br />

termin<strong>al</strong> reflejan los<br />

tipos <strong>de</strong> datos)<br />

Bundle by name<br />

(Agrupar por nombre)<br />

Función <strong>de</strong> Bundle (agrupación) Forma un cluster cont<strong>en</strong>i<strong>en</strong>do los objetos dados<br />

(explique el ejemplo).<br />

Función Bundle by Name (agrupe por nombre) Actu<strong>al</strong>iza v<strong>al</strong>ores <strong>de</strong> objetos<br />

loc<strong>al</strong>izados <strong>en</strong> grupos especificos (los objetos <strong>de</strong>b<strong>en</strong> t<strong>en</strong>er su propia clasificacion).<br />

Nota: Usted <strong>de</strong>be <strong>de</strong> t<strong>en</strong>er un cluster exist<strong>en</strong>te cableado a la termin<strong>al</strong> <strong>de</strong> <strong>en</strong> medio<br />

<strong>de</strong> la función para po<strong>de</strong>r utilizar Bundle by Name.<br />

67


Unbundled<br />

(separar)<br />

Unbundled by name<br />

(separar por nombre)<br />

Ejemplo <strong>de</strong> un<br />

Cluster separado<br />

(Unbundled Cluster)<br />

Función Unbundle (<strong>de</strong>sagrupar) Se utiliza para accesar a todos los objetos <strong>de</strong>l<br />

cluster.<br />

Función Unbundle by Name (<strong>de</strong>sagrupar por nombre) Se utiliza para accesar<br />

objetos específicos (uno o mas) <strong>en</strong> el cluster.<br />

Nota: Solam<strong>en</strong>te los objetos <strong>en</strong> el cluster que t<strong>en</strong>gan su propia marca (Label)<br />

pue<strong>de</strong>n ser accesados. Cuando se <strong>de</strong>sagrupe por nombre, haga clic <strong>en</strong> la termin<strong>al</strong><br />

con la herrami<strong>en</strong>ta <strong>de</strong> operación para escoger el elem<strong>en</strong>to que quiere accesar.<br />

La función Unbundle (<strong>de</strong>sagrupar) <strong>de</strong>be t<strong>en</strong>er exactam<strong>en</strong>te el mismo numero <strong>de</strong><br />

termin<strong>al</strong>es como se ti<strong>en</strong><strong>en</strong> elem<strong>en</strong>tos <strong>en</strong> el cluster. Añadi<strong>en</strong>do o Removi<strong>en</strong>do<br />

elem<strong>en</strong>tos <strong>en</strong> el cluster rompe cables <strong>en</strong> el diagrama.<br />

Usted también pue<strong>de</strong> obt<strong>en</strong>er las funciones <strong>de</strong> Bundle (agrupar), Unbundle<br />

(<strong>de</strong>sagrupar), Bundle by Name (agrupar por nombre), y Unbundle by Name<br />

(Desagrupar por Nombre) <strong>al</strong> hacer clic <strong>de</strong>recho con el mouse <strong>en</strong> la termin<strong>al</strong> <strong>de</strong>l<br />

cluster <strong>en</strong> el diagrama <strong>de</strong> bloques y eligi<strong>en</strong>do Cluster Tools (herrami<strong>en</strong>tas <strong>de</strong><br />

cluster) <strong>de</strong>l M<strong>en</strong>ú. Cuando usted escoge Cluster Tools las funciones Bundle<br />

(agrupar) y Unbundle (<strong>de</strong>sagrupar) automáticam<strong>en</strong>te conti<strong>en</strong><strong>en</strong> el numero correcto<br />

<strong>de</strong> termin<strong>al</strong>es. Las funciones Bundle by Name (agrupar por nombre) y Unbundle<br />

by Name (<strong>de</strong>sagrupar por nombre) aparec<strong>en</strong> con el primer elem<strong>en</strong>to <strong>de</strong>l Cluster.<br />

68


Los Errores <strong>de</strong> Cluster conti<strong>en</strong><strong>en</strong> la sigui<strong>en</strong>te información:<br />

Booleano (Boolean) Para reportar si surgió <strong>al</strong>gún error<br />

Enteros (Integer) Para reportar errores específicos <strong>de</strong> códigos<br />

Ca<strong>de</strong>na (String) Para brindar información acerca <strong>de</strong>l error<br />

Los clusters para errores son un medio po<strong>de</strong>roso para manejar errores.<br />

Los VI <strong>de</strong> adquisición <strong>de</strong> datos (DAQ VIs) las funciones <strong>de</strong> manejo <strong>de</strong> <strong>en</strong>tradas y<br />

s<strong>al</strong>idas <strong>de</strong> archivo (File I/O), los VI <strong>de</strong> networking, y muchos otros VI utilizan este<br />

método para pasar información acerca <strong>de</strong> errores <strong>en</strong>tre nodos.<br />

El cluster para errores conti<strong>en</strong>e los sigui<strong>en</strong>tes elem<strong>en</strong>tos:<br />

status, Un Booleano <strong>al</strong> que se le asigna un v<strong>al</strong>or verda<strong>de</strong>ro si ocurre <strong>al</strong>gún<br />

error.<br />

co<strong>de</strong>, Un v<strong>al</strong>or numerico <strong>al</strong> que se le asigna un numero <strong>de</strong> código<br />

correspondi<strong>en</strong>te <strong>al</strong> error que ha ocurrido.<br />

source, Una ca<strong>de</strong>na <strong>de</strong> caracteres que i<strong>de</strong>ntifica el VI <strong>en</strong> don<strong>de</strong> ocurrió el<br />

error.<br />

69


La información <strong>de</strong> un Error es transmitida <strong>de</strong> un subVI <strong>al</strong> sigui<strong>en</strong>te<br />

Si un Error ocurre <strong>en</strong> un subVI, todos los subVI subsecu<strong>en</strong>tes no<br />

serán ejecutados <strong>de</strong> la manera usu<strong>al</strong><br />

Los errores <strong>de</strong> Cluster conti<strong>en</strong><strong>en</strong> todas las condiciones <strong>de</strong>l Error<br />

Manejo automático <strong>de</strong> Errores<br />

Errores <strong>de</strong> Cluster<br />

Los clusters para errores son útiles para <strong>de</strong>terminar la ejecución <strong>de</strong> un subVI cuando<br />

se <strong>en</strong>cu<strong>en</strong>tra un error.<br />

Note también que los clusters para errores pue<strong>de</strong>n ser útiles para <strong>de</strong>terminar el flujo<br />

<strong>de</strong>l programa <strong>de</strong>bido <strong>al</strong> paradigma <strong>de</strong> programación <strong>de</strong>l flujo <strong>de</strong> datos. Esto pue<strong>de</strong><br />

ser útil especi<strong>al</strong>m<strong>en</strong>te <strong>al</strong> configurar un muestreo <strong>en</strong> mas <strong>de</strong> una tarjeta <strong>de</strong><br />

adquisición <strong>de</strong> datos (DAQ board) simultáneam<strong>en</strong>te.<br />

La función <strong>de</strong> Unbundle by Name (<strong>de</strong>sagrupar por nombre) muestra los<br />

compon<strong>en</strong>tes <strong>de</strong> un cluster <strong>de</strong> error.<br />

70


En la subp<strong>al</strong>eta <strong>de</strong> estructura <strong>de</strong> las p<strong>al</strong>eta <strong>de</strong> funciones.<br />

Encerrar los nodos o arrastrarlos hacia a<strong>de</strong>ntro <strong>de</strong> la<br />

estructura.<br />

Colocados como un juego <strong>de</strong> cartas (naipes), solo un caso<br />

es visible a la vez.<br />

Functions >> Execution control<br />

Las estructuras <strong>de</strong> caso nos permit<strong>en</strong> elegir un <strong>curso</strong> <strong>de</strong> acción<br />

<strong>de</strong>p<strong>en</strong>di<strong>en</strong>do <strong>de</strong>l v<strong>al</strong>or <strong>de</strong> <strong>en</strong>trada.<br />

En la subp<strong>al</strong>eta <strong>de</strong> Execution Control (control <strong>de</strong> ejecución) <strong>de</strong> la<br />

p<strong>al</strong>eta <strong>de</strong> Functions (funciones).<br />

Es semejante a los <strong>en</strong>unciados if-th<strong>en</strong>-else (si-<strong>en</strong>tonces-<strong>de</strong> otro modo)<br />

<strong>en</strong> otros l<strong>en</strong>guajes.<br />

Como una baraja <strong>de</strong> naipes (cartas). Solo se pue<strong>de</strong> ver un caso a la vez.<br />

Ejemplo 1: Entrada Booleana: Caso simple if-th<strong>en</strong> (si-<strong>en</strong>tonces). Si el<br />

v<strong>al</strong>or booleano <strong>de</strong> la <strong>en</strong>trada es verda<strong>de</strong>ro (TRUE), el caso verda<strong>de</strong>ro se<br />

ejecutara; <strong>de</strong> otra manera el caso f<strong>al</strong>so (FALSE) se ejecutara.<br />

Ejemplo 2: V<strong>al</strong>or numérico <strong>de</strong> <strong>en</strong>trada. El v<strong>al</strong>or <strong>de</strong> <strong>en</strong>trada <strong>de</strong>termina<br />

cu<strong>al</strong> caso (caja) se ejecutara. Si esta fuera <strong>de</strong> rango <strong>de</strong> los casos<br />

LabVIEW escogerá el caso por omisión (DEFAULT).<br />

Ejemplo 3: Entrada <strong>de</strong> ca<strong>de</strong>na <strong>de</strong> caracteres. Como el caso <strong>de</strong> los<br />

v<strong>al</strong>ores numéricos <strong>de</strong> <strong>en</strong>trada, el v<strong>al</strong>or <strong>de</strong> la ca<strong>de</strong>na <strong>de</strong> caracteres<br />

<strong>de</strong>termina cu<strong>al</strong> caso (caja) se ejecutara. Haga hincapié <strong>en</strong> que el v<strong>al</strong>or<br />

<strong>de</strong>be <strong>de</strong> ajustarse exactam<strong>en</strong>te <strong>al</strong> <strong>de</strong> los casos o sino la estructura<br />

ejecutara el caso por omisión.<br />

72


Tiempo estimado <strong>de</strong> completación: 20 minutos.<br />

Cree un VI que c<strong>al</strong>cule la raíz cuadrada <strong>de</strong> un numero. Si el numero es mayor o<br />

igu<strong>al</strong> a cero, el VI <strong>de</strong>be <strong>de</strong>volver el v<strong>al</strong>or <strong>de</strong> la raíz cuadrada y no g<strong>en</strong>erar ningún<br />

error. Si el numero es m<strong>en</strong>or que cero el programa <strong>de</strong>be <strong>de</strong>volver un resultado con<br />

v<strong>al</strong>or <strong>de</strong> -9999.90 e insertar un error <strong>de</strong>ntro <strong>de</strong>l cluster para errores.<br />

Utilice un Case Structure (estructura <strong>de</strong> casos) <strong>de</strong>s<strong>de</strong> la función Greater or Equ<strong>al</strong><br />

To 0 (mayor o igu<strong>al</strong> a cero) <strong>de</strong> la p<strong>al</strong>eta numérica para <strong>de</strong>terminar si el VI va a<br />

c<strong>al</strong>cular la raíz cuadrada o a g<strong>en</strong>erara un error. El Caso F<strong>al</strong>so mostrado arriba es<br />

el caso <strong>de</strong> error. Utilice una funcion Bundle by Name <strong>de</strong> la p<strong>al</strong>eta <strong>de</strong> cluster para<br />

insertar una constante Booleana, Numerica, y <strong>de</strong> Ca<strong>de</strong>na <strong>de</strong> Carateres <strong>en</strong> los objetos<br />

<strong>de</strong> estado (status), codigo (co<strong>de</strong>) y orig<strong>en</strong> (source) respectivam<strong>en</strong>te. Los v<strong>al</strong>ores <strong>de</strong><br />

las constantes <strong>de</strong>beran ser Verda<strong>de</strong>ros (True), 5008( un codigo <strong>de</strong> error <strong>de</strong>finido<br />

arbitrariam<strong>en</strong>te), y Raiz Cuadrada.vi ( El nombre <strong>de</strong>l programa que g<strong>en</strong>ero el<br />

error ). Cablee el nuevo cluster <strong>en</strong> el indicador <strong>de</strong> Error <strong>de</strong> S<strong>al</strong>ida (Error Out), y un<br />

v<strong>al</strong>or constante <strong>de</strong> -9999.90 <strong>al</strong> indicador <strong>de</strong> la raiz cuadrada. En el caso<br />

Verda<strong>de</strong>ro , que no se esta mostrando, <strong>de</strong>beria <strong>de</strong> cablearse simplem<strong>en</strong>te el control<br />

<strong>de</strong> error <strong>de</strong> <strong>en</strong>trada directam<strong>en</strong>te <strong>al</strong> indicador <strong>de</strong> error <strong>de</strong> s<strong>al</strong>ida a traves <strong>de</strong>l caso. El<br />

v<strong>al</strong>or <strong>de</strong> <strong>en</strong>trada <strong>de</strong> la raiz cuadrada <strong>de</strong>be ir cableado hacia la funcion Raiz<br />

Cuadrada (Square Root) <strong>de</strong> la p<strong>al</strong>eta numerica, y el resultado <strong>de</strong>beria ser cableado<br />

afuera <strong>de</strong>l caso hacia el indicador <strong>de</strong> la raiz cuadrada.<br />

Indique que este VI pue<strong>de</strong> ser fácilm<strong>en</strong>te configurado como un subVI para un<br />

código <strong>de</strong> programación mas gran<strong>de</strong>, y que la búsqueda <strong>de</strong> problemas<br />

(troubleshooting) y <strong>de</strong>puración es mas fácil cuando los clusters para errores son<br />

73


En la subp<strong>al</strong>eta <strong>de</strong> control <strong>de</strong> ejecución (Execution<br />

Control) <strong>de</strong> la p<strong>al</strong>eta <strong>de</strong> funciones.<br />

Ejecuta diagramas secu<strong>en</strong>ci<strong>al</strong>m<strong>en</strong>te.<br />

Presionar botón <strong>de</strong>recho <strong>de</strong>l mouse para agregar un<br />

nuevo cuadro (frame).<br />

En un l<strong>en</strong>guaje basado <strong>en</strong> texto ,las <strong>de</strong>claraciones <strong>de</strong>l programa se ejecutan <strong>en</strong> el<br />

or<strong>de</strong>n <strong>en</strong> que aparec<strong>en</strong>. En un flujo <strong>de</strong> datos, un nodo se ejecuta cuando los datos<br />

están disponibles <strong>en</strong> todas sus termin<strong>al</strong>es <strong>de</strong> <strong>en</strong>trada.<br />

Algunas veces es difícil <strong>de</strong>terminar el or<strong>de</strong>n exacto <strong>de</strong> ejecución. A m<strong>en</strong>udo, ciertos<br />

ev<strong>en</strong>tos <strong>de</strong>b<strong>en</strong> suce<strong>de</strong>r antes que otros. Cuando usted necesite controlar el or<strong>de</strong>n <strong>de</strong><br />

la ejecución <strong>de</strong>l código <strong>en</strong> su diagrama <strong>de</strong> bloques, usted pue<strong>de</strong> utilizar una<br />

Sequ<strong>en</strong>ce Structure (estructura <strong>de</strong> secu<strong>en</strong>cia).<br />

Estructura <strong>de</strong> Secu<strong>en</strong>cia: Usada para controlar el or<strong>de</strong>n <strong>en</strong> que los nodos <strong>en</strong> un<br />

diagrama se ejecutaran.<br />

In la p<strong>al</strong>eta <strong>de</strong> Execution Control (control <strong>de</strong> ejecución).<br />

Luce como un pedazo <strong>de</strong> rollo <strong>de</strong> película.<br />

Utilizada para ejecutar diagramas secu<strong>en</strong>ci<strong>al</strong>m<strong>en</strong>te.<br />

Hacer clic <strong>de</strong>recho con el mouse <strong>en</strong> los bor<strong>de</strong>s para crear un nuevo cuadro.<br />

74


En la subp<strong>al</strong>eta <strong>de</strong> Estructuras (Structures).<br />

Implem<strong>en</strong>ta ecuaciones complicadas.<br />

Variables creadas <strong>en</strong> los márg<strong>en</strong>es<br />

Nombres <strong>de</strong> variables son s<strong>en</strong>sibles (mayúsculas/minúsculas)<br />

Cada <strong>de</strong>claración <strong>de</strong>be <strong>de</strong> terminar con un punto y coma(;)<br />

La v<strong>en</strong>tana <strong>de</strong> ayuda muestra las funciones disponibles.<br />

Note el Punto y coma<br />

Algunas veces es preferible programar expresiones matemáticas con funciones<br />

basadas <strong>en</strong> texto, <strong>en</strong> lugar <strong>de</strong> hacerlo con iconos (los que pue<strong>de</strong>n tomar mucho<br />

espacio <strong>en</strong> el diagrama).<br />

Nodo <strong>de</strong> Formula: Nos permite implem<strong>en</strong>tar ecuaciones complicadas usando<br />

instrucciones basadas <strong>en</strong> texto.<br />

Loc<strong>al</strong>izada <strong>en</strong> la subp<strong>al</strong>eta <strong>de</strong> Structures (estructuras).<br />

La cajas pue<strong>de</strong>n cambiar <strong>de</strong> tamaño para introducir formulas <strong>al</strong>gebraicas<br />

directam<strong>en</strong>te a los diagramas <strong>de</strong> bloque.<br />

Para agregar variables, se presiona el botón <strong>de</strong>recho <strong>de</strong>l mouse y se escoge<br />

la opción <strong>de</strong> agregar <strong>en</strong>trada (Add Input) o agregar s<strong>al</strong>ida (Add Output).<br />

Hay que nombrar las variables <strong>de</strong> la misma manera <strong>en</strong> que serán usadas <strong>en</strong><br />

la formula. (Los nombres son s<strong>en</strong>sibles a capit<strong>al</strong>ización)<br />

Las <strong>de</strong>claraciones <strong>de</strong>b<strong>en</strong> terminar con un punto y coma (;)<br />

Al usar varias formulas <strong>en</strong> un solo nodo <strong>de</strong> formula, cada variable asignada<br />

(las que aparec<strong>en</strong> <strong>en</strong> la parte izquierda <strong>de</strong> cada formula) <strong>de</strong>b<strong>en</strong> <strong>de</strong> t<strong>en</strong>er una<br />

termin<strong>al</strong> <strong>de</strong> s<strong>al</strong>ida <strong>en</strong> el nodo <strong>de</strong> formula. Sin embargo, estas termin<strong>al</strong>es <strong>de</strong><br />

s<strong>al</strong>ida no necesitan ser cableadas.<br />

Compare los ejemplos <strong>en</strong> la diapositiva.<br />

75


LabVIEW ofrece muchas opciones para imprimir los VIs. Des<strong>de</strong> la forma estándar<br />

File » Print m<strong>en</strong>u, el usuario pue<strong>de</strong> imprimir una copia <strong>de</strong> su VI, o pu<strong>de</strong> g<strong>en</strong>erar<br />

una copia para guardarla <strong>en</strong> un archivo o publicarla.<br />

Utilizando el VI Print Panel (Impresión <strong>de</strong> Panel) <strong>en</strong> LabVIEW le permite <strong>al</strong><br />

usuario imprimir programáticam<strong>en</strong>te los resultados <strong>de</strong> una prueba. Los VIs también<br />

pue<strong>de</strong>n ser configurados para imprimir automáticam<strong>en</strong>te inmediatam<strong>en</strong>te <strong>de</strong>spués<br />

<strong>de</strong> cada ejecución. Esta opción es colocada <strong>en</strong> VI Properties » Print Options.<br />

Para aplicaciones mas avanzadas, LabVIEW ti<strong>en</strong>e herrami<strong>en</strong>tas que g<strong>en</strong>eran<br />

reportes que le permit<strong>en</strong> <strong>al</strong> usuario crear reportes person<strong>al</strong>izados para aplicación<br />

individu<strong>al</strong>es.<br />

LabVIEW 7.0 incluye un VI Express llamado Report. Este VI g<strong>en</strong>era un reporte<br />

preformado que conti<strong>en</strong>e la docum<strong>en</strong>tación <strong>de</strong>l VI, datos que el VI regresa y<br />

reportes <strong>de</strong> propieda<strong>de</strong>s, t<strong>al</strong>es como el autor, la compañía y el numero <strong>de</strong> paginas.<br />

77


Al abrir VI s properties (propieda<strong>de</strong>s <strong>de</strong>l VI) un <strong>de</strong>sarrollador pue<strong>de</strong> añadir<br />

docum<strong>en</strong>tacion a su VI. La docum<strong>en</strong>tacion colocada <strong>en</strong> el Description field (espacio<br />

para la <strong>de</strong>scripcion) <strong>de</strong> la v<strong>en</strong>tana <strong>de</strong> docum<strong>en</strong>tacion <strong>de</strong>l VI es moestrada <strong>en</strong><br />

Context Help (ayuda <strong>en</strong> contexto), y se imprime con el VI.<br />

Si un usuario ti<strong>en</strong>e una aplicación que esta si<strong>en</strong>do <strong>de</strong>sarrollada continuam<strong>en</strong>te, el o<br />

ella pue<strong>de</strong> seguir los cambios <strong>en</strong> el <strong>de</strong>sarrollo con Revision History (histori<strong>al</strong> <strong>de</strong><br />

revisiones), también <strong>en</strong>contrado <strong>en</strong> VI Properties.<br />

Cu<strong>al</strong>quier control o indicador <strong>en</strong> el Panel Front<strong>al</strong> pue<strong>de</strong> ser docum<strong>en</strong>tado <strong>al</strong> hacer<br />

clic <strong>de</strong>recho con el mouse y elegir Description and Tip (<strong>de</strong>scipcion y<br />

suger<strong>en</strong>cia ) La informacion <strong>de</strong> <strong>de</strong>scipcion aparece <strong>en</strong> el m<strong>en</strong>u Context Help<br />

(ayuda <strong>en</strong> contexto) cuando un usuario pasa el <strong>curso</strong>r sobre el objeto, y la<br />

informacion <strong>de</strong> sugerecia es mostrada <strong>en</strong> una pequeña v<strong>en</strong>tana pegada <strong>al</strong> <strong>curso</strong>r<br />

cuando el usuario pausa el movimi<strong>en</strong>to <strong>de</strong>l <strong>curso</strong>r sobre el objeto.<br />

Al igu<strong>al</strong> que los com<strong>en</strong>tarios <strong>en</strong> un l<strong>en</strong>guaje basado <strong>en</strong> texto, el <strong>de</strong>sarrollador podría<br />

querer explicar una porción <strong>de</strong> su código, o proveer direcciones <strong>en</strong> el panel <strong>de</strong><br />

front<strong>al</strong>. Cu<strong>al</strong>quiera <strong>de</strong> estas necesida<strong>de</strong>s pue<strong>de</strong> ser cumplida <strong>al</strong> usar la herrami<strong>en</strong>ta<br />

<strong>de</strong> etiquetado (labeling tool) para crear una caja <strong>de</strong> texto libre con tantas<br />

instrucciones o explicaciones como sean necesarias.<br />

78


Usted pue<strong>de</strong> estructurar los VIs <strong>de</strong>p<strong>en</strong>di<strong>en</strong>do <strong>de</strong> la funcion<strong>al</strong>idad que <strong>de</strong>sea que<br />

t<strong>en</strong>gan. En esta sección discutiremos <strong>al</strong>gunas <strong>de</strong> las arquitecturas <strong>de</strong> VI mas<br />

comunes, a si como sus v<strong>en</strong>tajas/<strong>de</strong>sv<strong>en</strong>tajas: simple, g<strong>en</strong>er<strong>al</strong>, maquina <strong>de</strong> estado<br />

(state machine).<br />

79


Arquitectura <strong>de</strong> VI Simple<br />

Cuando se hac<strong>en</strong> pruebas <strong>de</strong> laboratorio rápidas, no se necesita una arquitectura<br />

complicada. Su programa pue<strong>de</strong> consistir <strong>de</strong> un solo VI que toma una medición,<br />

hace cálculos, y ya sea <strong>de</strong>spliega los resultados o los guarda <strong>en</strong> el disco. La<br />

medición pue<strong>de</strong> ser iniciada cuando el usuario le da clic a la flecha <strong>de</strong> inicio (run<br />

arrow).<br />

Aparte se ser usada para aplicaciones simples, esta arquitectura es usada para<br />

compon<strong>en</strong>tes funcion<strong>al</strong>es <strong>de</strong>ntro <strong>de</strong> aplicaciónes mas gran<strong>de</strong>s. Usted pue<strong>de</strong><br />

convertir estos VIs simples <strong>en</strong> subVIs que son utilizados como compon<strong>en</strong>tes <strong>de</strong> una<br />

apicacion mas gran<strong>de</strong>.<br />

80


Arquitectura <strong>de</strong> un VI G<strong>en</strong>er<strong>al</strong><br />

G<strong>en</strong>er<strong>al</strong>m<strong>en</strong>te <strong>al</strong> diseñar una aplicación se sigu<strong>en</strong> tres pasos:<br />

Inicio (startup) Esta area se usa para inici<strong>al</strong>izar el hardware, leer información <strong>de</strong><br />

configuración <strong>de</strong> archivos o preguntar <strong>al</strong> usuario la loc<strong>al</strong>ización <strong>de</strong> datos <strong>de</strong><br />

archivos.<br />

Aplicación Princip<strong>al</strong> (main application) G<strong>en</strong>er<strong>al</strong>m<strong>en</strong>te consiste <strong>de</strong> por lo m<strong>en</strong>os<br />

un ciclo que se repite hasta que el usuario <strong>de</strong>cida s<strong>al</strong>ir <strong>de</strong>l programa, o el programa<br />

termina <strong>de</strong>bido a otras razones como la completacion <strong>de</strong> una <strong>en</strong>trada/s<strong>al</strong>ida (I/O)<br />

Apagado (shutdown) Esta seccion usu<strong>al</strong>m<strong>en</strong>te se <strong>en</strong>carga <strong>de</strong> cerrar los archivos,<br />

escribir datos <strong>de</strong> configuracion <strong>al</strong> disco o reestablecer los datos <strong>de</strong> <strong>en</strong>trada/s<strong>al</strong>ida<br />

(I/O) a su estado pre<strong>de</strong>terminado.<br />

Para aplicaciones simples, el ciclo <strong>de</strong> la aplicación princip<strong>al</strong> pue<strong>de</strong> ser bastante<br />

directo. Cuado se ti<strong>en</strong>e interfaces <strong>de</strong> usuario complicadas o ev<strong>en</strong>tos múltiples<br />

(acción <strong>de</strong> usuario, accionami<strong>en</strong>tos <strong>de</strong> <strong>en</strong>tradas/s<strong>al</strong>idas, etc.), esta sección pue<strong>de</strong><br />

volverse mas complicada.<br />

81


Pasos:<br />

0: Inicio (Startup)<br />

1: Ocio (Idle)<br />

2: Ev<strong>en</strong>to 1<br />

3: Ev<strong>en</strong>to 2<br />

4: Cierre (Shutdown)<br />

Arquitectura <strong>de</strong> un VI <strong>de</strong> Maquina <strong>de</strong> Estado<br />

Usted pue<strong>de</strong> hacer sus diagramas mas compactos con el uso <strong>de</strong> una estructura <strong>de</strong> caso simple para<br />

manejar todos sus ev<strong>en</strong>tos. En este mo<strong>de</strong>lo usted escanea (scan) la lista <strong>de</strong> posibles ev<strong>en</strong>tos, o<br />

estados, y luego correlaciona (map) estos a un caso. Para el VI mostrado arriba, los estados posibles<br />

son inicio (startup), ocio (idle), ev<strong>en</strong>to 1, ev<strong>en</strong>to2 y apagado (shutdown). Estos estados se <strong>en</strong>cu<strong>en</strong>tran<br />

guardados <strong>en</strong> una constante <strong>en</strong>umerada. Cada estado ti<strong>en</strong>e su propio caso <strong>en</strong> el lugar que usted<br />

coloque los nodos apropiados. Mi<strong>en</strong>tras se ejecuta un caso, el sigui<strong>en</strong>te caso es <strong>de</strong>terminado por el<br />

resultado actu<strong>al</strong>. El sigui<strong>en</strong>te caso que se ejecutara es guardado <strong>en</strong> el registro <strong>de</strong> <strong>de</strong>splazami<strong>en</strong>to<br />

(shift register). Si ocurre un error <strong>en</strong> cu<strong>al</strong>quier estado, el caso <strong>de</strong> apagado (shutdown) el llamado.<br />

La v<strong>en</strong>taja <strong>de</strong> este mo<strong>de</strong>lo es que su diagrama se pue<strong>de</strong> reducirse significativam<strong>en</strong>te (izquierda a<br />

<strong>de</strong>recha), haci<strong>en</strong>do que sea mas fácil <strong>de</strong> lee y <strong>de</strong>purar. Una <strong>de</strong>sv<strong>en</strong>taja <strong>de</strong> la estructura <strong>de</strong> secu<strong>en</strong>cia<br />

es que no pue<strong>de</strong> s<strong>al</strong>tarse o s<strong>al</strong>irse <strong>de</strong> un caso. Este método resuelve ese problema ya que cada caso<br />

<strong>de</strong>termina cu<strong>al</strong> será el próximo caso que se ejecutara.<br />

Una <strong>de</strong>sv<strong>en</strong>taja <strong>de</strong> esta técnica es que con la arquitectura simple se pue<strong>de</strong>n per<strong>de</strong>r ev<strong>en</strong>tos. Si dos<br />

ev<strong>en</strong>tos ocurr<strong>en</strong> <strong>al</strong> mismo tiempo, este mo<strong>de</strong>lo maneja solo el primero, y el segundo se pier<strong>de</strong>. Esto<br />

pue<strong>de</strong> conducir a errores que son difíciles <strong>de</strong> <strong>de</strong>purar porque solo ocurr<strong>en</strong> ocasion<strong>al</strong>m<strong>en</strong>te. Exist<strong>en</strong><br />

versiones mas complejas <strong>de</strong> la Arquitectura <strong>de</strong>l VI <strong>de</strong> la Maquina <strong>de</strong> Estado que conti<strong>en</strong>e código<br />

extra para construir un queue <strong>de</strong> ev<strong>en</strong>tos (estados) <strong>de</strong> manera que usted no pierda ningún ev<strong>en</strong>to.<br />

82


Tiempo estimado <strong>de</strong> duración: 25 minutos.<br />

En este ejercicio crearemos un VI usando la arquitectura <strong>de</strong> Maquina <strong>de</strong> Estado. El<br />

VI t<strong>en</strong>drá un estado <strong>de</strong> ocio (idle), <strong>en</strong> don<strong>de</strong> espera por <strong>en</strong>tradas. Cuando el usuario<br />

presiona un botón, el VI se ira <strong>al</strong> estado 1 (State 1). El estado 1 g<strong>en</strong>era una caja <strong>de</strong><br />

di<strong>al</strong>ogo que le permite <strong>al</strong> usuario proce<strong>de</strong>r a ir <strong>al</strong> estado 2 (State 2) o volver a<br />

empezar. Des<strong>de</strong> el estado 2 el usuario pue<strong>de</strong> <strong>de</strong>cidir cerrar el programa o iniciar<br />

nuevam<strong>en</strong>te.<br />

En lugar <strong>de</strong> empezar <strong>de</strong>s<strong>de</strong> cero, utilizaremos una Plantilla <strong>de</strong> VI para crear nuestra<br />

maquina <strong>de</strong> estado. Des<strong>de</strong> el File m<strong>en</strong>u, <strong>en</strong> lugar <strong>de</strong> seleccionar New VI, seleccione<br />

New , y haga clic <strong>en</strong> Start from template. Busque \Program Files\Nation<strong>al</strong><br />

Instrum<strong>en</strong>ts\LabVIEW 6.1\templates\State Machine.vit, Y abr<strong>al</strong>o. Esto abrira una<br />

plantilla simple <strong>de</strong> maquina <strong>de</strong> estado utilizando ca<strong>de</strong>nas <strong>de</strong> caracteres para<br />

controlar el estado. Examine la plantilla, y guar<strong>de</strong>la <strong>en</strong> otro directorio antes <strong>de</strong><br />

empezar a trabajar <strong>en</strong> ella.<br />

El primer estado que haremos es el <strong>de</strong> inici<strong>al</strong>ización. Note que este estado ya ha<br />

sido creado para nosotros, y es el estado pre<strong>de</strong>terminado (<strong>de</strong>fault). En el caso <strong>de</strong><br />

inici<strong>al</strong>ización, coloque un One Button Di<strong>al</strong>og (Functions » Time & Di<strong>al</strong>og), y<br />

cablee Initi<strong>al</strong>ized. Clic OK para proce<strong>de</strong>r. <strong>en</strong> la termin<strong>al</strong> <strong>de</strong> m<strong>en</strong>sajes. Reemplace<br />

el texto Next State con Idle .<br />

83


Haga clic <strong>de</strong>recho <strong>en</strong> la estructura <strong>de</strong> casos, escoja Add Case After, y déle el<br />

nombre <strong>de</strong> Idle . D<strong>en</strong>tro <strong>de</strong>l caso Idle, coloque una segunda estructura <strong>de</strong> caso.<br />

Cablee un Booleano llamado Begin Test a la termin<strong>al</strong> <strong>de</strong> selección <strong>de</strong> la<br />

estructura <strong>de</strong> caso anidada, y cablee una constante <strong>de</strong> ca<strong>de</strong>na <strong>de</strong> caracteres con el<br />

v<strong>al</strong>or Test <strong>de</strong> el caso verda<strong>de</strong>ro a el registro <strong>de</strong> <strong>de</strong>splazami<strong>en</strong>to (Shift register).<br />

Esta configuracion mant<strong>en</strong>dra la maquina <strong>de</strong> estados <strong>en</strong> el estado Idle hasta que el<br />

usuario proceda a presionar el boton para iniciar la prueba. Haga clic <strong>de</strong>recho <strong>en</strong> el<br />

tunel <strong>de</strong> s<strong>al</strong>ida <strong>de</strong>l Booleano y escoja Create » Constant. Cambie el v<strong>al</strong>or constante<br />

a True (verda<strong>de</strong>ro).<br />

Haga clic <strong>de</strong>recho <strong>en</strong> la estructura princip<strong>al</strong> y adicione otro caso. Llame a este caso<br />

Test . En el caso Test, coloque un Two Button Di<strong>al</strong>og, un boton doble <strong>de</strong> di<strong>al</strong>ogo,<br />

(Functions » Time & Di<strong>al</strong>og). Conecte el Texto The test has run. Click OK to quit,<br />

Cancel to test again. con la termin<strong>al</strong> <strong>de</strong> m<strong>en</strong>saje. Coloque otra estructura <strong>de</strong> caso<br />

a<strong>de</strong>ntro <strong>de</strong>l caso Test, y conecte T button? la s<strong>al</strong>ida <strong>de</strong> el Two Button Di<strong>al</strong>og con<br />

la termin<strong>al</strong> seleccionada. Haga una conexión <strong>de</strong>l v<strong>al</strong>or Idle <strong>de</strong>s<strong>de</strong> el caso f<strong>al</strong>so<br />

hasta el registro <strong>de</strong> <strong>de</strong>splazami<strong>en</strong>to (Shift register), y una conexioncon costante<br />

Booleana Verda<strong>de</strong>ra con la termin<strong>al</strong> <strong>de</strong>l ciclo mi<strong>en</strong>tras (while loop). El caso<br />

Verda<strong>de</strong>ro <strong>de</strong>bera <strong>de</strong> cont<strong>en</strong>er una ca<strong>de</strong>na <strong>de</strong> caracteres constante vacia, y un v<strong>al</strong>or<br />

Boleano F<strong>al</strong>so conectado con la condicion <strong>de</strong> terminacion. Esto terminara el<br />

programa si el usuario presiona OK, y regresara <strong>al</strong> estado idle (ocio) si el usuario<br />

presiona Cancel.<br />

84


En LabVIEW, una opción llamada panel front<strong>al</strong> remoto le permite <strong>al</strong> usuario<br />

observar y controlar el panel front<strong>al</strong> <strong>de</strong> un VI remotam<strong>en</strong>te <strong>de</strong>s<strong>de</strong> LabVIEW o un<br />

navegador sin necesidad <strong>de</strong> programación. El usuario pue<strong>de</strong> correr una aplicación o<br />

revisar el progreso <strong>de</strong>s<strong>de</strong> cu<strong>al</strong>quier lugar. A<strong>de</strong>más difer<strong>en</strong>tes usuarios <strong>en</strong> difer<strong>en</strong>tes<br />

lugares pue<strong>de</strong>n t<strong>en</strong>er acceso simultaneo <strong>al</strong> VI.<br />

Los usuarios remotos pue<strong>de</strong>n observar el panel front<strong>al</strong> <strong>en</strong> vivo (<strong>en</strong> tiempo re<strong>al</strong>),<br />

<strong>en</strong> lugar <strong>de</strong> imág<strong>en</strong>es estáticas. Pue<strong>de</strong>n existir múltiples cli<strong>en</strong>tes observando el<br />

mismo panel front<strong>al</strong>. Sin embargo, solo un cli<strong>en</strong>te pue<strong>de</strong> controlar el panel front<strong>al</strong> a<br />

la vez.<br />

85


Tools » Web Publishing Tool<br />

Clic S<strong>al</strong>var a Disco y el<br />

VI es embebido a un<br />

archivo HTML<br />

Después que el<br />

archivo a sido grabado,<br />

pue<strong>de</strong> ser reabierto y<br />

person<strong>al</strong>izado <strong>en</strong><br />

cu<strong>al</strong>quier editor HTML<br />

Para incrustar su VI <strong>en</strong> una pagina web, simplem<strong>en</strong>te abra la herrami<strong>en</strong>ta <strong>de</strong><br />

publicación web (Web Publishing Tool) <strong>en</strong> herrami<strong>en</strong>tas <strong>de</strong>l m<strong>en</strong>ú. Web Publishing<br />

Tool crea un simple archivo html con un panel front<strong>al</strong> incrustado <strong>en</strong> el. Con esta<br />

herrami<strong>en</strong>ta usted pue<strong>de</strong> crear un titulo y colocar texto antes y <strong>de</strong>spués <strong>de</strong> colocar el<br />

panel front<strong>al</strong>. Una vez creado el archivo html, se pue<strong>de</strong> observar <strong>en</strong> un navegador<br />

web y ser grabado <strong>al</strong> disco. S<strong>al</strong>var el archivo coloca el html <strong>en</strong> su directorio www<br />

<strong>de</strong> LabVIEW, que es el pre<strong>de</strong>terminado para el servidor web <strong>de</strong> LabVIEW. Usted<br />

pue<strong>de</strong> iniciar su servidor web <strong>de</strong>s<strong>de</strong> Web Publishing Tool o <strong>de</strong>s<strong>de</strong> Tools »<br />

Options » Web Server : Configuration. (Nota: <strong>en</strong> Tools » Options m<strong>en</strong>u usted<br />

tambi<strong>en</strong> pue<strong>de</strong> configurar el <strong>de</strong>recho <strong>de</strong> acceso y VIs expuestos para su servidor<br />

web.<br />

Si usted <strong>de</strong>sea person<strong>al</strong>izar su pagina web mas <strong>al</strong>lá <strong>de</strong> lo que provee la herrami<strong>en</strong>ta<br />

<strong>de</strong> publicación web (Web Publishing Too)l, simplem<strong>en</strong>te abra el archivo html <strong>en</strong><br />

otro editor <strong>de</strong> html, y person<strong>al</strong>ice <strong>al</strong>re<strong>de</strong>dor <strong>de</strong>l código <strong>de</strong>l panel embebido para<br />

LabVIEW.<br />

86


Para mas información <strong>en</strong> cuanto a paneles front<strong>al</strong>es remotos, visite NI Developer<br />

Zone (zona <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> NI), zone.ni.com.<br />

Remote Panels in LabVIEW -- Distributed Application Developm<strong>en</strong>t (Panel<br />

Remoto <strong>en</strong> LabVIEW Desarrollo <strong>de</strong> Aplicaciones Distribuidas)<br />

http://zone.ni.com/<strong>de</strong>vzone/insights.nsf/2d17d611efb58b22862567a9006ffe76/8bc9<br />

0a5f744a482886256ba000681713?Op<strong>en</strong>Docum<strong>en</strong>t<br />

Developing Remote Front Panel LabVIEW Applications (Desarrollando<br />

aplicaciones <strong>de</strong> panel front<strong>al</strong> remoto <strong>en</strong> LabVIEW)<br />

http://zone.ni.com/<strong>de</strong>vzone/conceptd.nsf/2d17d611efb58b22862567a9006ffe76/e78<br />

9515b9976253786256b1f007e039b?Op<strong>en</strong>Docum<strong>en</strong>t<br />

87


LabVIEW ti<strong>en</strong>e muchas otras herrami<strong>en</strong>tas disponibles para su <strong>de</strong>sarrollo. Si bi<strong>en</strong><br />

es cierto que las restricciones <strong>de</strong> tiempo no nos permit<strong>en</strong> <strong>en</strong>trar <strong>en</strong> muchos <strong>de</strong>t<strong>al</strong>les,<br />

es una bu<strong>en</strong>a i<strong>de</strong>a indicar <strong>al</strong>gunas <strong>de</strong> las capacida<strong>de</strong>s avanzadas ofrecidas por<br />

LabVIEW. Los estudiantes que están interesados <strong>en</strong> temas específicos pue<strong>de</strong>n ir a<br />

LabVIEW Example Fin<strong>de</strong>r o pue<strong>de</strong>n visitar la zona <strong>de</strong> <strong>de</strong>sarrollo NI (NI s<br />

Developer Zone) para mas información.<br />

Property No<strong>de</strong>s (nodos <strong>de</strong> propiedad) Las propieda<strong>de</strong>s son todas las cu<strong>al</strong>ida<strong>de</strong>s<br />

<strong>de</strong> un objeto <strong>en</strong> el panel front<strong>al</strong>. Con property no<strong>de</strong>s, se crean o le<strong>en</strong> dichas<br />

caracteristicas t<strong>al</strong>es como color <strong>de</strong> foreground y background, formato y precision <strong>de</strong><br />

datos, visibilidad, texto <strong>de</strong>scriptivo, tamaño y posicionami<strong>en</strong>to <strong>de</strong>l panel front<strong>al</strong>,<br />

etc. Busque property no<strong>de</strong> <strong>en</strong> la v<strong>en</strong>tana <strong>de</strong> Find Examples, <strong>al</strong>li se <strong>en</strong>cu<strong>en</strong>tran 24<br />

programas con este tema que vi<strong>en</strong><strong>en</strong> <strong>en</strong> LabVIEW.<br />

Loc<strong>al</strong> Variables (variables loc<strong>al</strong>es) Las variables loc<strong>al</strong>es romp<strong>en</strong> con el<br />

paradigma <strong>de</strong> programacion <strong>de</strong> flujo <strong>de</strong> datos, permiti<strong>en</strong>do que los datos sean<br />

pasados sin necesidad <strong>de</strong> cables.<br />

Glob<strong>al</strong> Variables (variable glob<strong>al</strong>) Un tipo especi<strong>al</strong> <strong>de</strong> VI, usado para guardar<br />

datos <strong>en</strong> la objetos <strong>de</strong>l panel front<strong>al</strong> con el proposito <strong>de</strong> intercambiar datos <strong>en</strong>tre<br />

VIs.<br />

DataSocket Una plataforma in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te <strong>de</strong> intercabio <strong>de</strong> datos <strong>en</strong>tre<br />

computadoras y aplicaciones, basada <strong>en</strong> TCP-IP, pero sin la complejidad <strong>de</strong> la<br />

programacion <strong>en</strong> bajos niveles.<br />

Archivos Binarios I/O permite <strong>al</strong> usuario transferir datos a un disco <strong>en</strong><br />

aplicaciones <strong>de</strong> <strong>al</strong>ta velocidad.<br />

88


Que hago ahora?<br />

Nation<strong>al</strong> Instrum<strong>en</strong>ts ofrece una amplio rango <strong>de</strong> <strong>curso</strong>s <strong>de</strong> <strong>en</strong>señanza para<br />

expandir tu conocimi<strong>en</strong>to. Por favor visite ni.com/aca<strong>de</strong>mic para obt<strong>en</strong>er<br />

información <strong>de</strong> programas y re<strong>curso</strong>s disponibles.<br />

LabVIEW Edición <strong>de</strong> Estudiantes esta disponible <strong>en</strong> nuestra pagina Web. Incluye<br />

apr<strong>en</strong>di<strong>en</strong>do con LabVIEW, un libro <strong>de</strong> texto escrito por el Dr. Bob Bishop <strong>de</strong> la<br />

universidad <strong>de</strong> Austin Texas.<br />

La web es el mejor lugar para buscar información sobre LabVIEW. NI.com<br />

ha sido diseñado para ser el re<strong>curso</strong> princip<strong>al</strong> para <strong>en</strong>contrar información.<br />

La zona <strong>de</strong> <strong>de</strong>sarrollo NI ( NIDZ ) es un lugar para que los <strong>de</strong>sarrolladores<br />

se reun<strong>en</strong>, discutan temas <strong>de</strong> diseño y com<strong>en</strong>t<strong>en</strong> sobre diversos temas.<br />

Notas <strong>de</strong> aplicación pue<strong>de</strong>n ser <strong>de</strong>scargadas <strong>de</strong> ni.com/support <strong>en</strong> una gran<br />

cantidad <strong>de</strong> temas.<br />

Grupo <strong>de</strong> Noticias LabVIEW (Info-labview) es un grupo manejado por<br />

terceras personas.<br />

Existe una ext<strong>en</strong>sa librería <strong>de</strong> drivers <strong>de</strong> instrum<strong>en</strong>tos <strong>de</strong> LabVIEW<br />

disponibles para ser <strong>de</strong>scargados <strong>de</strong> NIDZ<br />

89

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!