Open navigation menu
Close suggestions
Search
Search
en
Change Language
Upload
Sign in
Sign in
Download free for days
0 ratings
0% found this document useful (0 votes)
182 views
143 pages
LabVIEW Core 2 Course Exercises
LabviewLabviewLabview
Uploaded by
Ricardo Martinez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF or read online on Scribd
Download
Save
Save LabVIEW Core 2 Course Exercises For Later
Share
0%
0% found this document useful, undefined
0%
, undefined
Print
Embed
Report
0 ratings
0% found this document useful (0 votes)
182 views
143 pages
LabVIEW Core 2 Course Exercises
LabviewLabviewLabview
Uploaded by
Ricardo Martinez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF or read online on Scribd
Carousel Previous
Carousel Next
Download
Save
Save LabVIEW Core 2 Course Exercises For Later
Share
0%
0% found this document useful, undefined
0%
, undefined
Print
Embed
Report
Download
Save LabVIEW Core 2 Course Exercises For Later
You are on page 1
/ 143
Search
Fullscreen
LabVIEW™ Core 2 Manual de Ejercicios Ww, NATIONAL PP InsTRUMENTS ni.com/trainingLabVIEW™ Core 2 Ejercicios Version del software actual 2012 Edicion de Agosto 2012 NGmero de parte 325293D-0154 Copyright © 1993-2012 National Instruments. Todos los derechos reservados. En virtud dela leyes de copyright y de protecidn de los derechos de autor, esta publicacibn no puede reproducirse ni tansmitirse en ninguna forma, electrics o mecénica, incividas las fotocopias, ‘rabscién, almacenamienfo en un sistema de recuperacin de informacién, o taduecién, en su totalidad oen pate, sin el consentimiento previo por eserito de National Insraments Corpeation, [National instruments rspeta los derechos de propiedad intelectual de otros, y sliitamos 8 nuestros usuarios que hagan lo mismo. El software de NI esta protegdo porel derecho de autor y ls normnas de la propiedad intelectual, Aunque el software de NI puede wilzarse para reproducirsoRwareu otro material perteneciente a otros, el software de NI slo pod tlizarse para reprodcir material que ‘eda reproduc conforme a los érmines de cualquier licencia aplicable w otra restriccién legal Contrato de licencia de usuario final y avisos legales a terceros El contrato de licencia de usuario final (‘EULA’) y avisos legals a teceros se puede encontrar en las siguientes locatidades: + Los avisos se localizan en los directorios
\_Legal Informationy National Instrunents> + Contrato de licencia de usuario final e localiza en el directorio
\Shared\MDF\Legai \License. + Revise
\_Legal Information. txt para mis informacion legal sobre los instaladores desartollados con productos de NI. Marcas comerciales LabVIEW, Nations! Instruments, NI ni-com, el logotipo comporativo de National Instruments, yellogotipo del aguila son mareas propiedad de National Instruments Comporation. Por favor, consulte Trademark Information en la pgina 1. com/ trademarks para informacién sobre otras marcas de National Instruments Otros nombres de productos y de empresas mencionados aqui son marcas o nombres comerciales de sus respectivas empresas Patentes Para obtener informacion tobre ls patentes que protege los productos ola tecnologia de National Instruments, consulte el apartado: Help»Patents en su software, el archivo patents. txt enel soporte del mismo, 0 el Aviso sobre las Patentes de National Instruments (National Instruments Patent Notice) en ni. con/patents.Informacién del producto y soporte técnico mundial Oficinas internacionales Visite ni .com/ni g1oball para acceder las piginas web de las oficinas internacionales, las cuales incluyen informacién aetualizada de contacto, teléfonos de soporte ténico, dtecciones de email y eventos actuals. Oficinas centrales de National Instruments Corporation 11500 North Mopac Expressway Austin, Texas 78759-3504 USA Tel: 512 683 0100 Para realizar comentarios a National Instruments sobre la documentacidn, consul la pigina web de National Instruments Web ni, cont/ info e introduzea el eédigo de informacién feedback.Contenido Guia del estudiante A. Cettificacion de NI vii B. Deseripcién del curso. viii C. Lo que necesita para empezar ix D. Instalacién de! software del curso. : ix E. Objetivos del curso Os x F. Convenciones del curso xi Lecci6n 1 Mas alla del flujo de datos Ejercicio 1-1 Concepto: Comparacién de colas con variables locales oD Ejercicio 1-2 Concepto: Comparando disetios de estructura Event con disefios de sondeo. VL Leccién 2 Implementando patrones de disefio Ejercicio 2-1 Plantilla Simple State Machine (Maquina de estados) .... Ejercicio 2-2 Concepto: Productor/consumidor (eventos) Ejercicio 2-3 Concepto: Gestor de errores del productor/consumidor Ejercicio 2-4 Histograma cn Ejercicio 2-5 Nivel de acceso de usuarios Leccién 3 Control de la interfaz de usuario Ejercicio 3-1 Visualizacién de temperatura y limites... Ejercicio 3-2 Personalizacién de la Ventana del VT. Ejercicio 3-3 Uso de subVIs... LabVIEW Core 2 Manual de Ejercicios National instruments. |vContanice icom | Leccion 4 Técnicas de E/S de fichero Ejercicio 4-1 Crear rutas de archivos y carpetas 4-2 Ejercicio 4-2 Escribir multiples canales con encabezados sencillos vse 6 Bjercicio 4-3 Lectura de archivos TDMS Bs . seve 2 Leccién 5 Mejora de un VI existente Ejercicio 5-1 Concepto: Refactorizacién de cédigo heredado ..... eon Sel Leccién 6 Creacién y distribucién de aplicaciones Ejercicio 6-1 Preparacién de archivos para la distribucién Ejercicio 6-2 Creacién y depuracién de una aplicacién independiente. Ejercicio 6-3 Construyendo un instalador y depuréndolo en un ordenador remoto Apéndice A Configuracién del hardwareGuia del estudiante Gracias por comprar el paquete de curso LabVIEW Core 2. Podra empezar a desarrollar una aplicacién poco después de completar este curso. El manual de ejercicios y el sofiware adjunto se utilizaran en el curso prictico de dos dias LabVIEW Core 2 Puede aplicar la adquisicin completa de este paquete de curso a la cuota de registro correspondiente del curso si se inscribe antes de 90 dias desde la compra del paquete. Visite ni .com/training para consultar en linea la programacién, el contenido, los centros de formacién y las inscripciones a la clase del curso. A. Certificacion de NI El curso LabVIEW Core 2 forma parte de una serie de cursos disefiados para dominar LabVIEW y ayudarle a prepararse para el examen de Desarrollador Asociado Certificado de LabVIEW de NI. La siguiente ilustracién muestra los cursos que forman parte de la serie de formacin de LabVIEW. Consulte ni .com/training para obtener informacién adicional acerca de las certificaciones de NI. New User Experiences User ‘Advanced User ‘Courses Managing Software Engineering in LabVIEW Advanced Architectures in LabVIEW LabVIEW Core 1 LabVIEW Core 3° LabVIEW Care 2" LabVIEW Connectity ‘Object-Oriented Design ‘and Programming in LABVIEW ae Labview Performance Corites Labview n|Conifed Labview Associate Developer Exam Developer Exar Other Courses LabVIEW Instrument Contol LabVIEW ReakTime 1 Labview Re: Line 2 Labview FPGA LabVIEW DAG and Signal Conditioning Modular instruments Series Cove courses ae stengly recommended realize maximum peductvty sans when sig LabVIEW, LabVIEW Core 2 Manual de Ejercicios National Instruments | viGuia del estudinie sicom | vi B. Descripcién del curso El curso LabVIEW Core 2 le enseita conceptos, técnicas, caracteristicas, Vis y funciones de programacién de LabVIEW que puede utilizar para crear aplicaciones de prueba y medicién, adquisicién de datos, control de instrumentos, registro de datos, andlisis de mediciones y generacion de informes. Este manual del curso supone que esta familiarizado con Windows, que tiene experiencia en escribir algoritmos en forma de diagramas de flujo o diagramas de bloques y que ha realizado el curso LabVIEW Core 1 o tiene una experiencia equivalente. Los manuales de ejercicios y el curso estan divididos en lecciones, descritas de este modo. En el manual del curso, cada leccién consta de lo siguiente: + Una introduecién que describe el objetivo de fa leecién y lo que aprender + Una descripcién de los temas de Ia leccion + Uncuestionario de resumen que prueba y esboza conceptos y conocimientos importantes ensefiados en la lecci6n En el manual de ejercicios, cada leccién consta de lo siguiente: + Un conjunto de ejercicios para reforzar esos temas, + Algunas leceiones incluyen secciones de ejercicios opcionales y retos 0 un conjunto de ejercicios adicionales para realizar si el tiempo lo permit. YE} Nota Para ver actualizaciones y correeciones del manual de ejercicios y el curso, consulte ni . com/ into y escriba el Cédigo de Informacion core? Varios ejercicios utilizan un dispositive multifuncién de adquisicién de datos (DAQ) conectado a un DAQ Signal Accessory © BNC2120 que contiene un sensor de temperatura, un generador de funciones y diodos LED. ‘Aunque no disponga de este hardware, puede realizar los ejercicios. Se ofrecen otras instrucciones para realizar los ejercicios sin hardware. También puede sustituir otro hardware por los mencionados anteriormente. Por ejemplo, puede utilizar otro dispositive DAQ de National Instruments conectado a una fuente de seffales, como un generador de funciones.C. Lo que necesita para empezar Antes de usar este manual del eurso, debe tener todos estos elementos (2 Ordenador ejecutando Windows 7/Vista/XP J Dispositive DAQ multifuncién configurado como Dev! utilizando Measurement & Automation Explorer (MAX) Accesorio de sefiales DAQ 0 BNC-2120, conectores y cable LabVIEW Professional Development System 2012 o posterior (2 DAQmx 9.5.5 0 posterior CD del curso LabVIEW Core 2, desde donde instala tas siguientes carpetas: Directorio Descripcién Ejercicios Contiene Vis utilizados en el curso Soluciones Contiene tos ejercicios det curso completados D. Instalacién del software del curso ‘Complete estos pasos para instalar el software del curso. 1. Inserte el CD del curso en el ordenador. Apareceran los cuadros de didlogo de LabVIEW Core 2 Course Setup 2. Haga clic en Install the course materials. 3. Sigua las instrucciones en Ja pantalla para completar la instalacién y configuracién. Los archivos de ejercicios se encuentran en la carpeta
\LabVIEW Core 2\. “EA Nota_Los nombres de carpetas entre corchetes angulares, como
, hacen referencia a carpetas del directorio ratz de su ordenador. LabVIEW Cove 2 Manual de Ejarcicias ‘@National instruments |Guia det estudiante E. Objetivos del curso Este curso le prepara para hacer lo siguiente: Aplicar patrones de disefio comunes que utilicen notificadores, colas y eventos Usar la programacién de eventos de forma eficaz Controlar programéticamente objetos de la interfaz de usuario Evaluar formatos de EIS de ficheros binarios y ulilizarlos en aplicaciones Modificar cédigo existente para mejorar la usabilidad Preparar, crear y desplegar aplicaciones independientes Este curso no describe nada de lo siguiente: Métodos de programacién de LabVIEW tratados en el curso LabVIEW Core 1 Cada VI, funcién u objeto integrado; consulte la Ayuda de LabVIEW para obtener informacién adicional acerca de las funciones de LabVIEW no descritas en este curso, Desarrollar una aplicacién completa para cualquier estudiante de la clase; consulte e] NI Example Finder seleccionando Help»Find Examples, para ver ejemplos de Vis que puede utilizar e incorporar en los Vis que creeF. Convenciones dei curso Las siguientes convenciones aparecen en este manual del curso negrita cursiva monospace monospace bold LabVIEW Core 2 Manual de Ejecicios El simbolo » le guia por elementos de memii anidados y opciones de los cuadros de didlogo a una accién final, La seeuenc ‘Tools»Instrumentation»Find Instrument Drivers le guia a desplegar el meni Tools, seleccionar Instrumentation, y finalmente seleccionar fa opcién Find Instrument Drivers. Este icono indica un consejo, que le alerta de recomendaciones, Este icono indica una nota, que le alerta de informacién importante. Este icono indica una precaucién, para que tome precauciones y evite lesiones, pérdida de datos o una caida del sistema. Este icono indica que un ejercicio requiere un dispositive DAQ El texto en negrita indica que debe seleccionar el software o hacer clic en él, como elementos de meni y opciones del cuadro de didlogo. El texto en negrita denota también las secciones de los cuadros de didlogo y etiquetas del hardware. Eltexto en cursiva indica variables, énfasis, una remisi6n o una introduccidn a un concepto clave. Bl texto en cursiva también indica texto que es un parametro de sustitucién para una palabra o un valor que debe proporcionar. El texto con esta fuente indica texto o caracteres que debe escribir con el teclado, secciones de cédigo, ejemplos de programacién y ejemplos de sintaxis. Esta fuente también se utiliza pata los nombres propios de unidades de disco, rutas, directorios, programas, subprogramas, subrutinas, nombres de dispositivos, funciones, operaciones, variables, nombres de archivos y extensiones. El texto en negrita con esta fuente indica los mensajes y las respuestas que el ordenador imprime autométicamente en Ta pantalla, Esta fuente también enfatiza Iineas de cédigo distintas de los otros ejemplos. (© National Instruments | xiMas alla del flujo de datos Ejercicios : Ejercicio 1-1 Concepto: Comparacidn de colas con variables locales Ejercicio 1-2 Concepto: Comparando disefios de estructura Event con disefios de sondeo. LabVIEW Core 2 Manual de Ejerccios ©National nsruments j 1-1Leceiin 1 Ade até det fajo de datos igo | 12 Ejercicio 1-1 Concepto: Comparacion de colas con variables locales Objetivo En este ejercicio se ejecutara y examinaré un VI de patrén de disefio productor/consumidor que transfiere datos generados por el bucle productor a cada bucte consumidor utilizando variables y colas. Descripcioén Las secciones siguientes describen cémo el VI Queues vs Local Variables hace lo siguiente. + Creacién de una cola + Colas de datos que genera el bucle productor. + Extraccién de datos en el bucle consumidor. + Espera a que la cola se vacie antes de salir del VI. * Utilize las variables locales para leer y mostrar datos del bucle productor.Qu Local Variables ana del Project Explorer D 7 7 0 Loop Tin 3. _Ejecute el VI. El bucle productor genera datos y los transfiere a cada bucle consumidor mediante una variable local y una cola. Observe el comportamiento del VI cuando los bucles consumidores se ajustan a la misma velocidad que el bucle productor. 4. Detenga el VI. LabVIEW Cove 2 Manual de Ej ©Natonal nstwuments | 1-3(On 1 Ms ak del datos rigor | tot Abra y examine el diagrama de bloques de este VI. Las siguientes secciones describen las partes de este diagrama de bloques con mas detalle, Figura 1-2. Diagrama de bloques de! VI Queues vs Local Variables cate Pre SE Ste re [Bp mnt eli Queue Lew aed —EEBDcn RateCreacion de una cola Crear Ia cola con el cédigo que se muestra en la Figura J-3. Este cédigo se encuentra a la izquierda del bucle productor. Figura 1-3. Creando la cola nay queue size @————+ fia} Oats Type oi * Obtain Queue f Max queue size — Establece el nimero maximo de elementos que puede contener la cola. 2 Laconstante numérica Data Type — cableada ala entrada element data type dela funcicn Obiain Queue, especitica el tipo de datos que desea que contenga lacola. 3. Obtain Queue — Crea la cola y define el tipo de datos. Introduccion en cola de datos que genera el bucle productor Figura 1-4. Poniendo en cola datos que el bucle productor genera [Tis ose generates a Sine Wave po by point ith ene pint eet 30 Engueue Clement ce Producer Loep Lg sanpes 02 1 Enqueue Element — Agrega cada elemento de datos, que el VI Generate Sine genera en el bucle productor a la parte posterior de la cola. LabVIEW Core 2 Manual de Ejrccios © National instruments | 1-5Leccién 1 Mas ald el fo de datos nico | 16 Extraccién de datos de la cola del bucle productor dentro de la cola del bucle consumidor Figura 1-5. Extraccién de datos en el bucle consumidor [hs ioop veces eta fam the Fada cop oy dequeue ements ff he DequeveElmert Get Que Seat 7 — —— Lat Sas Upiaisenpieein Queue FE Quee Loop HED.cop teins) 7 Dequeue Element — Elimina un elemento de la parte delantora de la cola y se envia el elemento de datos al ‘wavetorm chart” de la cola del bucle consumidor. 2 Get Queue Status — Indica cuantos elementos permanecen en la cola. Para procesar estos datos, debe ejecutar la cola del bucle consumidor mds rapido que el bucle producior, 0 seguir procesando una vez que se haya delenido el bucle productor.Espera hasta que se vacie la cola Figura 1-6. Espera hasta que se vacie la cola >) GetQueveSatur ff Reece dueve © 7) 7 & faaas ti Goeaee imply. Ths leer reverts alee [oueve from ning t fete se elements fre queue While Loop — Espera a que la cola se vacie antes de salir del VI. Haga referencia a este bucle While como Queue Wait Loop. Get Queue Status — Retorna informacion acerca de el estado actual de la cola, como el nmero de datos que contiene actualmente. Equal To 0? ~ Cableada a la condicién de parada del Queue Wait Loop comprueba sila cola esta vacia. Release Queue — Libera y limpia las referencias de la cola. Simple Error Handler — Reporta un error dado al final de la ejecucién. LABVIEW Core 2 Manual de Ejercicios ‘@National Inetruments | 4-7leccidn 1 Mis al del fyjo de datos Local Variable Consumer Loop 16 El bucle productor genera datos de onda sinusoidal y los escribe en una variable local, mientras que el bucle Local Variable Consumer Loop lee periédicamente los datos de Ia onda sinusoidal desde la misma variable local. Figura 1-7. — +> Presour Samples i Loop Spe —-BELcop te Local Variable Consumer Loop © (ees -- — 1 Update Counters — Actualiza los contadores para muestras duplicadas 0 perdidas. Prueba Local Variable Consumer Loop 1, Cambie al panel frontal del VI Queues vs Local Variables. 2, Bjecute el VI. 3, Seleccione diferentes velocidades para el bucle Local Variable Consumer Loop y observe el grifico del Local Variable Consumer Loop y Ios resultados generados en el indicador Missing Samples o el indicador Duplicated Samples. (_Asegiirese de que se selecciona Same as Producer Loop en Loop Speed y observe el grafico del bucle productor y el gréfico del bucle Local Variable Consumer Loop. Puede ocurrir una condicién de carrera a rafz. de puntos omitidos o datos duplicados.Seleccione 2x de! menii desplegable del control Loop Speed y observe el grifico del bucle Local Variable Consumer Loop. Ocurre una condicién de carrera porque los datos se consumen més répidamente de lo que se producen, lo que hace que la variable local fea ef mismo valor varias veces. Seleccione 1/2 as Praducer de! meni desplegable del contro! Loop Speed y observe el grafico de el bucle Local Variable Consumer Loop, Ocurre una condicién de carrera porque los datos se producen mas répidamente de lo que se consumen. Los datos cambian antes de que la variable local pueda leerlos 1. Seleccione fas opciones restantes del meni desplegable del control Loop Time y observe la recuperacién de los datos, 4, Detenga el VI La transferencia de datos entre dos bucles paralelos no sincronizados utilizando variables locales produce una condicién de carrera, Esto ocurre cuando el bucle productor esti escribiendo un valor en una variable local, mientras que el bucle Local Variable Consumer Loop lee periédicamente el valor desde la misma variable local. Coma los bucles paralelos no estén sincronizados, el valor puede escribirse antes de que se haya leido 0 viceversa, lo que produce la inanicién de datos 0 el exceso de datos, Queue Consumer Loop 1. Ejecute el VI. 2. Seleccione la velocidad del tiempo del bucle Queue Consumer Loop y observe la grafica tipo “waveform graph” de este bucle y los resultados generados en el indicador Samples in Queue. _Asegirese de que el Loop Speed seleccionado es Same as Producer; observe el valor del indicador Samples in Queue. El valor debe permanecer en cero, Por Io tanto, con las colas no perder datos cuando los bucles productor y consumidor se estén ejecutando a la misma velocidad. (Seleccione 2x en el ment desplegable del control Loop Speed y observe el valor del indicador Samples in Queue. Fl valor debe permanecer en cero. Por lo tanto, con las colas no perdera datos cuando el bucle consumidor se esté ejecutando més répidamente que el productor. (3. Seleccione 1/2 as Producer en el ment desplegable del control Loop Speed y observe el valor del indicador Samples in Queue. Los puntos de datos se acumularan en la cola. Tendré que procesar los elementos acumulados en la cola antes de llegar al tamafio maximo de ésta para no perder datos. 1D Seleccione las opciones restantes del ment desplegable del control Loop Time y observe la sincronizacién de la transferencia de datos entre el bucle productor y el bucle consumidor utilizando colas. LabVIEW Cove 2 Manual de Ejercicios ©National Inetruments | 1-9Leccidn 1 és a dt ij de datos sicom | 1-10 3. Detenga el VI Cuando el bucle productor y el bucle Queue Consumer Loop se ejecutan a la misma velocidad, no cambiara ef nlimero de elementos de la cola. Cuando el bucle ‘Queue Consumer Loop se ejecuta mas lentamente, la cola se lena rapidamente y el bucle productor debe esperar a que el bucle Queue Consumer Loop elimine los elementos. Cuando el bucle Queue Consumer Loop se ejecuta mas répidamente, la cola se vacia répidamente y el bucle consumidor debe esperar para insertar muevos elementos. Asi, las colas sincronizan la transferencia de datos entre los dos bucles paralelos independientes y se evita la pérdida o duplicacién de datos. 4. Cierre el VI. No guarde los cambios. Fin del ejercicio 1-1Ejercicio 1-2 Concepto: Comparando disefios de estructura Event con disehos de sondeo. Objetivo Convertir una aplicacién basada en sondeo en una aplicacién basada en eventos Descripcién En primer lugar se observa el comportamiento de un VI de sondeo. A continuacién, modifique el VI de sondeo para crear un VI mis eficiente basado en eventos y observe los cambios en el comportamiento. Por ultimo, afiada diferentes tipos de eventos al VI. La tabla 1-1 enumera los eventos que se implementan en el VI UI Event Handler. Tabla 1-1. Eventos de la interfaz de usuario 7 ee Descripcién de eventos “Stop”: Value Change Detener el bucle While. “Time Check”: Value Change ‘Muestra una marca de tiempo cuando se hace clic en el botén Time Check, “Pane”: Mouse Down ‘Muestra las coordenadas del punto del panel frontal donde se hace clic. Panel Close? Controla el evento en el que el usuario intenta cerrar el VI en ejecucién haciendo clic en el botén cerrar de la ventana “Stop”: Mouse Enter Produce un sonido cuando se mueve el cursor sobre el botén Stop. Observando el comportamiento del VI basado en sondeo 1. Abriry ejecutar el VI © Abrael archivo Events. lvpro} en el directorio
\LabVIEW Core 2\Events y abra el VI Polling vi LABVIEW Core 2 Manual de Ejrecios @National nstuments | 1-11101 Mids ald dl fo de datos riscom | 1-12 Examinar el rendimiento de un VI de sondeo mediante el administrador de tareas de Windows. ] Presione las teclas
y seleccione Administrador de tareas desde el meni Haga clic en la pestaita Performance en la ventana del Administrador de tareas Ejecute ef VI. } Observe lo alto que es el uso del CPU, Cl Detenga el VI y observe cémo el uso del CPU cae. 3. Abra el diagrama de bloques, habilite “execution highlighting”, y ejecute de nuevo el VI 4. Tenga en cuenta la frecuencia en Ja que el terminal Time Check envia los datos a la estructura Case y con qué frecuencia el bucle While itera. 5, Detenga el VI y desactive “execution highlighting” Modificacién del VI de sondeo para utilizar eventos en lugar de sondeo 1, Guarde el Vicomo UI Event Handler. vi para poder modificarlo. 1 Seleccione Open additional copy y afiada la copia al proyecto. 2. Cierre el VI Polling.vi 3. Abra el diagrama de bloques de Events.vi y mueva el terminal Stop y el terminal de Time Check fuera del bucle While. Mueva estos terminales hacia el evento apropiado mas adelante en este ejercicio. 4, Bliminar la estructura Case y limpiar los cables rotos. 5. Coloque una estructura Event dentro del bucle While entre el terminal de iterecién y el terminal condicional. 6, Haga clic con el botén derecho en la estructura Event y seleccione Edit Events Handled by This Case en el menti contextual.Configure el evento como en la figura 1-8 Figura 1-8. Configuranto el evento “Stop”: Value Change Event {Bi esetvene | | fvertense (0) Sepa Change Event Spectr: vent Source Event (2 Miket _(Kiemoe ) {Glock ove panel (eer processing of se action) untithis ever ase completes 1 Haga clic en Stop en el panel de Event Sources. 2 Haga clic en Value Change en el panel de Events. 8. Haga clic en OK para cerrar el cuadro de didlogo. LabVIEW Core 2 Manual de Ejerccios Event Source: Everts “
ai fe Rey E This |B Mouse [ee ag Se Panes I Pane 4 | | = cons Og aes Renton Time Check Not: Handing Value Changed event on Latches Booean wl ot stort igger iemethames acbon, You rst ead tha Beles’: Terminal marder Fort cect reset. ‘© National instuments | 1-13Leccidn 1 Mas alla dl fyjo de datos siicom | 114 9. Ponga una constante True dentro del nuevo evento “Stop”: Value Change y cableelo al terminal condicional del bucle While como en la figura 1-9 Figura 1-9. Estructura Event con "Stop": Value Change Event Newial event data — Recimensiona la sta de elementos de datos de eventos pare que slo una mustiva aparezca, Hage cho en el elemento y selacione sw Val. Observando el comportamiento de un VI manejado por eventos 1 2. 3 Ejecute el VI ‘Tenga en cuenta que el indicador Iteracién no se incrementa, ‘Vaya al diagrama de bloques y habilite Execution Highlighting. ‘Tenga en cuenta que el bucle While se esti ejecutando en su primera iteracién, La estructura Event esté esperando un evento, Deshabilite “execution highlighting” y vaya de vuelta al panel frontal. Haga clic en el botén Stop para detener el VI. ‘Tenga en cuenta que el VI detiene la ejecucién, aunque el botén Stop esté desconectado. Observe que el botén Stop se mantiene presionado a pesar de que la accién mecénica se ajusta a Latch When Released, La razén de que el botén se mantenga presionado es porque el VI dejé de funcionar después de hacer clic en el botén.9. Reinicie el botén Stop haciendo clic en él nuevamente. 10. Arrastre el terminal del botén Stop dentro del evento “Stop”. Value Change event, como en la figura 1-10. Figura 1-10. “Evento Stop". Value Change con un botén terminal Stop FL Sag aoe age = 11, Bjecute el VI y haga clic en Stop nuevamente. 12, Tenga en cuenta que en este momento el VI se detiene y el boton se reinicia. LabVIEW Core 2 Manual de Ejrcicios @National instruments | 1-15,Lecelén 1 Me ali dt flujo de detos Programando el evento “Time Check”: Value Change 1 Agregar un nuevo caso a la estructura de eventos y crear un evento “Check Time”: Value Change, como en la figura 1-11 Haga clic con el botén derecho en la estructura Event y seleccione Add Event Case Figura 1-11, Estructura Event con evento “Time Check": Value Chang: Tine Chet Value ange “P= ] * Tire Chest aes x gig Sena En la ventana Edit Events, seleccione Time Check én el panel Event Sources y seleccione Value Change en el panel Events, Mueva el terminal de Time Check fuera del bucle While en “Time Check": Value Change evento. Get Date/Time In Seconds — Crea una estampa de tiempo en memoria. Indicator — Muestra la salida current time (tiempo actual) de la funcién Get Date/Time In Seconds, Ejecute el VI Haga clic en el botén Time Cheek para ver el tiempo actual en el indicador current time, Abra el Administrador de tareas de windows y observe que el uso de CPU se ha reducido al utilizar eventos en lugar de sondeo. Detenga el VI.Adicién de mas eventos Notifier para el VI 1. Aifadir un nueva caso a la estructura de eventos Mouse Down como se muestra en la figura 1-12. Figura 1-12. Estructura Event con el evento “Pane”: Mouse Down En a veniana Edit Events, seleccione Panes»Pane en el panel Event Sources y seleccione Mouse»Mouse Down en el panel Events. Coords event data — Haga clic en el event data node y seleccione Cords» All Elements, Coords indicator — Haga clic con el botén derecho en fa salida del elemento de datos del evento Coords y seleccione Create»Indicator en el ments contextual 2, Bjecute el VI 3. Haga clic en diferentes partes del panel frontal 1 Observe que el indicador Coords muestra las coordenadas de cada punto en el que se hace clic. Observe que los otros eventos siguen comportindose como antes. 4. Detenga el VI. LabVIEW Core 2 Manual de Ejrcicios © National Instruments | 1-17Leccién 1 Ms ala del to de datos Agregar eventos de filtro para el VI L.Afiadir un nuevo caso a la estructura de eventos y crear un evento Pane! Close? como se muestra en la figura 1-13 Figura 1-13, Estructura Event con et evento “Panel Close” “ieee I], . “Bre you sure you want te] SS i) 5 “ame ¢ : © ® En la ventana Edit Events, seleccione
en el panel Event Sources y seleccione Panel Close? on el panel Events. Nodo event data — Haga clic en el nodo Event Data y seleccione Source en el ment, Funciones Two Button Dialog y Not — Cablee la salida T button? a la funcién Not y cablee la funcién Not al event filter node “Discard?” Constante de cadena de caracteres — Cable Are you sure you want to close the window? a la entrada de message. Constantes de cadenas de caracteres Yes y No — Cable Yes a la entrada de T button name (“OK”) y cablee No a la entrada F button name ("Cancel 2. Guarde y cierre el VI 3. Haga clic en la “X” en la parte superior derecha de fa ventana del panel frontal. 4, Note que haciendo clic en el botén No, se cancela el evento y se retorna al VI. 5. Haga clic en el botsn Yes para detener y cerrar el VI. 6, Detenga el VI si es necesario.Reto 1. Siusted tiene una tarjeta de sonido, afiadir un evento que produce un sonido cuando el cursor esta sobre el botén Stop. @ Consejo Urilice Quick Drop para encontrar Beep vi Fin del ejercicio 1-2 LabVIEW Core 2 Manual de Ejercicios National insteumenis | 1-19Implementando patrones de disefo Ejercicios Ejercicio Plantilla Simple State Machine (Maquina de estados) Ejercicio 2-2 Concepto: Productor/consumidor (eventos) Ejercicio 2-3 Concepto: Gestor de errores del productor/consumidor Ejercicio 2-4 Histograma Ejercicio 2-5 Nivel de acceso de usuarios LABVIEW Core 2 Manual de Ejrcicios National inciumente | 21Leccién 2 Implementando patrones de diseho Ejercicio 2-1 Plantilla Simple State Machine (Maquina de estados) Objetivo ‘Utilice la plantilla de Simple State Machine en LabVIEW para crear una aplicacién en fa que el usuario controla la adquisici6n y almacenamiendo de los datos tipo forma de onda. Escenario Se desea utilizar una maquina de estados basada en eventos para crear una aplicacién robusta que adquiere y guarda los datos en una forma de onda, Se inicia con la plantilia simple de maquina de estados, la que provee un archivo de proyecto de LabVIEW y todos los VIs soportados asi como los controles de definicién de tipo, se necesitard crear una aplicacién con la maquina de estados basada en eventos, Disefo La plantilla simple de maquina de estados incluye una amplia documentacién acerca de cémo modificar el cédigo para crear una aplicacién personalizada con ‘méquinas de estados. Una vez que se crea un proyecto utilizando la plantilla, se personaliza el cédigo para diferentes eventos para que pueda generar, adquirir y ‘guardar datos de forma de onda. Se utiliza el V1 Generate Data, disponible en el folder compartido, para generar formas de onda senoidales para esta aplicacién. Por ‘ultimo, se actualizan los controles personalizados proporcionados por la plantilla predeterminada, para que los controles manejen los datos que se han generado.Implementaci6n Haga clic en el botn Create Project en la ventana Getting Started. 1 Seleccione la plantifla Simple State Machine como en la figura 2-1 Figura 2-1. Crear un proyecto usando la plantila simple state machine. Bi crate Project Choose a starting point for your project: “a tek rect Terps } Simpl Project ‘Simple State Mactine mente sn verte oss terta°® Mora formation ng ieeks n, More Information ‘Queue Message Handter SS ae ee ©National instruments | 2-3 LABVIEW Core 2 Manual de EjerciciosLecclén 2 mplementands patranes icon | 24 3. Complete la configuracién del proyecto, como se muestra en la figura 2-2 Figura 2-2. Configuracién del proyecto en el cuadro de dilogo Create Bicep Configure your new pect ene fo sce dn Perot oO @Q—Hp ciiesrennse vention oases O— FileName PrticOpera fae wise Moai cons fg Project Name — Ingrese Acquire and Save como el nombre del nuevo proyecto, 2. Project Root — Se puede usar la localizacién en disco por defecto. 3. File Name Prefix — Este pretijo se convierte en parte del nombre de los archivos de la biblioteca del proyecto y Vis que esta plantila crea. LabVIEW también actualiza el icono con este prefijo. 4 Edit Overlay — Haga clic en este botén para personalizar atin mas el icono.4, Haga clic en el botén Finish para crear y abrir el proyecto Acquire and Save yun VI principal flamado WMEFMain.vi En la ventana Project Explorer. note que el proyecto contiene documentacién, definiciones de and Save como se muestra en la figura 2-3 6. Agregue la carpeta compartida para el proyecto Acq Figura 2-3. Afadic una carpeta compartida al proyecto 1. Project Acquire and Seve proj @— = Q My Computer © GD. Project Documentation © Type Definitions ° 3S Sie <———— SL WHEMoinas & & Dependencies 46%, Bull Specifications Haga clic con el botén derecho en My Computer y soleccione Add» Folder (Snapshot) en ol mend contextual. 2 Navegue a
\LebVIEW Core 2\Shared y haga clic en el botén Current Folder para afiadirlo al proyecto, Asegirese que la carpeta compartida est abierta cuando se hace elic en el botén Current Folder. 7. Haga doble clic en WFMMain.vi en la ventana Project Explorer y revise los comentarios de la plantilla en el panel frontal LabVIEW Core 2 Manual de Ejerccios ©Natonal instruments | 25Lecelén 2 tmplementande patranee de aisaho nicom | 26 ‘Abra el diagrama de bloques y observe el bucle While y la estructura Case, tipicos de un patron de disefio de méquinas de estado, como en la figura 2-4 Figura 2-4. Bucle While y estructura Case tipicos de un disefto con maquina de estados [Mam vigie Machine ey A [mater }——~ rae (ae edad = Way te ae a Ippropntyforuse inthe new ate z pede Nef ses Don ever ixop the cop i Tey ‘top Loop? 9 Ds Escructura Case — Contiene un caso por cada estado definido en la definicién de tipo Initial State. 2. Registros de desplazamiento — Mantiene la informacion del estado, informacién de error, y datos de una iteracién del bucle While @ otra. Estos registros. aseguran que la informacién es accesible en cada evento y caso. 3. Etiqueta del diagrama de bloques — Es una guia para actualizer la plantilla,9. Actualice el panel frontal como en Ja figura 2-5 _fesecune wonton eae Logto Fle Amplitude c Etiquetas — Actualice las etiquetas del botén Acquire Wavelorm y Log to File. Las efiquetas corresponden a los terminales en el diagrama de bloques y se muestran alli también. Texto Boolean — Cambie el texto Boolean que aparece en los botones de Acquire and Save. El texto Boolean es el texto mostrado en el botén. Waveform graph — Eliminar comentarios antes de afadir el grético tipo “Waveform Graph" 10. Abra el diagrama de bloques y mueva el terminal Waveform Graph fuera del bucle While. Deber moverse nuevamente més adelante. Q Consejo Haga doble clic en el grafico en el panel frontal para encontrar el terminal del Waveform Graph en el diagrame de bloques LABVIEW Core 2 Manual de Ejerccios © National instruments | 2-7Leccién 2 mplementando patrones de asec com | 28 11, Badite la definicién de tipo Initial State, como en la figura 2-6 Figura 2-6. Definicion de tipo initial State Initial State (etnitiatize =} > | Ginivatze © 1 Definicién de tipo Initial State — Haga clic con el botdn derecho en Initial State y seleccione Open Type Def. 2 States enum — Haga clic con el botén derecho en la variable tipo enum y seleccione Edit Items.12, Edite los estados tipo enum como en la figura 2-7. Aepeornct | Bat Tpe | Dpiny Format | Edt ers Bocamendon [+> Tem Tigh “UE otto Acquire Wavetorm Logte Fie | | | | watt bet | (Tee) (ean) rele) Haga clic en OK para cerrar el cuadro de didlogo. 5 Seleccione File»Apply Changes Guarde el archivo Wimstate. ct] y cierre la ventana del editor de control. LABVIEW Core 2 Manual de Ejercicios Enum States: Properties ©National Instruments. | 29Leccién 2. Implementando patrones de disero 13. Edie Ia definicién de tipo Data, de forma que pueda usarse con los datos de la forma de onda en fa aplicacién Abrir y editar Ia definicién de tipo Data, como se muestra en la Figura 2-8 Figura 2-8, Editando la definioién de tipo de datos a 1 Definicién de tipo Data — Haga clic con él botén derecho en Data y seleccione Open Type Det. 2 Componentes de la plantila por defacto — La plantila tiene tres tipos de datos por defecto: Un Booleano, una cadena de caracteres y un valor numérico. Borre las componentes que tiene por defecto en el cluster en la definicion de tipo. 3. Abra el VI Generate Data, localizado en la carpeta Shared en la ventana del Project Explorer, copie el control ¥. 4 Pague el control Y dentro de la detinicién de tipo Data y cambie el nombre del control Y a Array. (1. Seleccione FileApply changes para aplicar la nueva definicién de tipo en el VI abierto. 1 Guarde y cierte la ventana de editor del control (© Bjecute el VI Generate Data 14, Complete el caso Acquire Waveform como se muestra en la figura 2-9. © Blimine las funciones Bundle by Name y One Button Dialog, en este caso, antes de completar el diagrama de bloques mostrado en la figura 2-9.Bundle By Name Waveform Grp > Gee CS Gi [ae Genarte Osta Bundle By Name — Cablee la definicién de tipo Data al cluster de entrada de la funcién Bundle By Name. 2 Terminal Waveform graph — Arrastre el terminal desde fuera del bucle While hacia adentro del caso Acquire Waveform. 3 VI Generate Data — Abra el folder compartido en la ventana Project Explorer y arrastre el VI Generate Data al diagrama de bloques. Cablee la salida de Ya fa terminal del Waveform Graph Cree constantes de las terminales de entrada signal y noise del VI Generate Data. 5 _Cablee la salida de Y del VI Generate Data a fa entrada del Array de la funcién Bundle By Name. 15. Complete el caso Log to File como en la figura 2-10. LabVIEW Core 2 Manual de Ejetcicios © National instruments | 2-11Leccién 2 Implementando patrones de aiseRo ‘ie 1 Convert to Dynamic Data — Se configura con las siguientes opciones: (1. Tipo de dato de entrada — Array 1D de escalares, canal simple (2 Tipo de datos escatar — Nameros en punto flotante (dobles) Tiempo inicial — Cero 2 Express VI Write to Measurement File — Se configura con las siguientes opciones: Action — Preguntar al usuario el archivo (Action — Consultar en cada iteracién Cl Ma file already exists — Sobreescriba el archivo sieste ya existe Después de configurar el VI Express Write To Measurement File, haga clic con el botén derecho en el VI Express y seleccione View As Icon 3 Cablee la tuncién Convert to Dynamic Data a las sefiales de entrada del VI Express Write To Measurement File,16, Abra el caso Stop como en la figura 2-11 Figura 2-11, Actual potsin State Machine! Walor no utiizado) enum — Es deseable actualizar la etiqueta para faciltar la lectura. Sin embargo, la aplicacion no utiliza el valor enum debido a que el botén ‘Stop detiene la ejecucién del bucle antes de que el siguiente estado se ejecute. 17, Haga clic en el botdn ejecutar Run que muestra una flecha rota, para encontrar errores y depurar el cédigo. Debido a que se han sustituido los elementos de datos en a definicién de tipo Data, el valor booleano que la funcién Bundle By Name usa en algunos casos ya no es valido. Elimine las fuinciones Bundle By Name y 1 to. vyuelva a cablear los datos hacia los registros de desplaza 18. Guarde el VI. © National netumants | 2.13 LABVIEW Core 2 Manual de EjerciciosLecelén 2 implementando patrones de siseFo icon | 218 Prueba 1, Bjecute ef VI. 2. Haga clic en el botén Acquire en varias ocasiones. El grifico tipo Waveform Graph, actualiza cada vez los nuevos datos. 3, Haga clic en el botén Save. 4. Cuando termine, haga clic en el botén Stop. 5. Guarde y cierre el VI. Fin del ejercicio 2-1Ejercicio 2-2 Concepto: Productor/consumidor (eventos) Objetivo Como grupo, explore la plantilla Producer Consumer (Productor/Consumidor) Escenario Se tiene un VI que utiliza el patrén de disefio productor/consumidor para procesar mensajes. La tasa a la que trabaja el consumidar es més lenta que la del productor ¥y por lo tanto, se crea un backlog (cola de mensajes en espera). El VI borra mensajes del backlog en el orden en que se reciben los mensajes, hasta que un mensaje de prioridad alta se introduce. Los mensajes con prioridad alta son procesados a medida que se reciben, luego el VI continiia con el procesamiento de mensajes con prioridad normal Implementacion 1. Abrael proyecto del productor consumidor, localizado en
\LabVIEW Core 2\Producer Consumer - Event,y abra el Main.vi mostrado en la figura 2-12. Figura 2-12. Productor consumidor (panel frontal del VI Main) High Prion? ° Number of enqueved rmassages wating to Curent data being be procerea proceres in oneumerloop 2. Ejecute el VI. LABVIEW Core 2 Manual de Ejerecios ©National Instruments | 245,fo patones de dsero 3. Haga clic en el botén Normal Priority Note que el indicador State to Execute dice Normal Priority. (2 Note ademas que Processed Value se incrementa en | Note que el valor booleano High Priority? esta apagado. & Haga clic en varias ocasiones en el bot6n Normal Priority (Note que el indicador Backlog incrementa su valor. 1D Note que Backlog decrece cada segundo. 5, Haga clic en el botén High Pri (3 Note que State to Execute dice High Priority yl indicador Processed Value dice 1000, 1 Note que el valor booleano High Priority? esta encendido. 6. Observe el flujo de datos através del diagrama de bloques. Seleccione Window»Tile Left and Right rico | 246 (Haga clic en el botén Highlight Execution en el diagrama de bloques y luego ejecute el VI, observe el comportamiento al hacer clic en el botén Normal Priority. (0. Haga clic en el botén High Priority. (1 Note que Wait (ms) estado por defecto del bucle consumidor est configurado a 1000. Esto es lo que causa que el procesamiento se de un mensaje por segundo. 7, Desactive la opcién Highlight Execution, 8. Haga clic en varias ocasiones en el botén Normal Priority para crear una cola de mensajes en espera.9. Mientras que existe el backlog, haga clic en el botén Stop. Observe que ef VI se detienc incluso aunque el backlog no haya sido procesado. La funcidn Enquene Element at Opposite End causa esto. Si la parada (Stop) debe ocurrir después de que todos los mensajes en el backlog se procesen. entonces esta funcién seria sustituida por una funcidn regular Enqueue Element. 10. Introduzca un error y observe el comportamiento: o a a Elimine el cluster de error cableado al estado por defecto del bucle consumidor. Haga clic con el bot6n derecho en el tine! de salida de la estructura Case y seleccione Create»Constant. Ejecute el VI y haga clic en Normal Priority. ‘Note que el VI ya no se comporta adecuadamente. Esto se debe a un error en el bucle consumidor, que ha causado el bucle consumidor a detenerse. Debido ‘aque el bucle consumidor estaba haciendo la mayor parte del trabajo, el VI no se comporta correctamente. El bucle productor atin esté en ejecucién. 11. Cierre el VI y el proyecto. No guarde los cambios. Este VI no incluye ningén gestor de errores. Se modifica una versidn de este VI en el ejercicio 2-3, para habilitar el gestor de errores de forma que el VI se detiene si un error ocurre Fin del ejercicio 2-2 LabVIEW Core 2 Manual de Ejericis ©National instruments | 2417Leccién 2 _Implementande patrones de sero Ejercicio 2-3 Concepto: Gestor de errores del productor/consumidor Objetivo Utilice los botones para introducir errores en la plantilla del productor/consumidor para probar el cédigo del gestor de errores Escenario Se probara el gestor de errores en el patron de disefio productor/consumidor, por lo que inyectaran errores simmulados cuando el VI se ejecuta. Disefio Afiada botones para introducir errores en el bucle consumidor y en el bucle productorImplementacion 1. Abra el proyecto del productor/consumidor, localizado en
\LabVIEW Core 2\Producer Consumer ~ Template Ui SeleccioneFileySave As y establezca las opciones de “Guardar como”, como se muestra en la figura 2-18, y luego haga clic en el botén Continue. Figura 2-18. Opciones de “Guardar como" (Save As) {BS Sure "Producer Coneumeriprey Be || oni || Ceci cz ce Cmone Tenge Conon Copy- reste en unopened copy of the ete il on dd *y ay Morrie iena = © [REL Pott ir ean contents ‘lcd a dapendentes Ofna ibe m nemon, Cop witb ope c) Sect content tcapy (Continue) [Caneel | 1 Ingrese Histogram como el nombre de el proyecto, y guarde el proyecto en el directorio
\LabVIEW Core 2\Histogram. 2. Cierre la ventana Project Explorer de Producer Consumer - Template. 3. Abra Histogram.Ivproj y renombre los Vis del proyecto en LabVIEW, de forma que LabVIEW pueda actualizar todos los enlaces e instancias de estos Vis. (Haga clic con el botén derecho en Main.vi en Ia ventana Project Explorer y seleccione Rename. (© Renombre el VI como Histogram Main. vi y haga clic en OK,ing Histogram “auto-populating folder”. La carpeta compartida contiene e] VI Generate Data y el VI Run Afiada la carpeta Shared al proyecto con la opeién que se utilizardn adelante. Abra el diagrama de bloques del VI Histogram Main Actualice la definicion de tipo Consumer Message, como en Is figura 2-19, para manejar los datos de la forma de onda 6 oe Figura 2-19. Definicién de tipo Consumer Message ‘Numeric Data a Emor Consumer State Ersitatze 1 Definicién de tipo Consumer Message — Haga clic con el botén derecho en la definiciOn de tipo Consumer Message localizada a la izquierda del bucle productor en el VI Histogram Main y seleccione Open Type Det. LabVIEW Cove 2 Manual de Ejrcicios © National instumenis | 2-272 _implemertando patrones de oisene rico | 228 (1 Modifique la definicién de tipo Consumer Message como en la figura 2-20. Figura 2-20. Definicién de tipo Consumer Message Consumer Mage (Gone Sine ee) M cerereenreraecetmnned Boolean Data | | || status code “Array — Afiada un array a la definicin de tipo, para que esta pueda manejar datos de la forma de onda. Renombre el array como Signal. 2. Indicador Numérico — Afiada un indicador numérico al array. Haga clic con el botén derecho en el borde del cluster y seleccione Reorder Controls in Cluster y ordene los elementos de forma que e control Signal esté exactamente por debajo del control Numeric Data.Aplique los cambios, guarde, y cierre la definicién de tipo. Despliegue la definicién de tipo como un icono en el diagrama de blogues, como en la figura 2-21 Figura 2-21. Ver una definicién de tipo como un feono 1 Haga clic con el botén derecho en en la definicién de tipo Consumer Message y Seleccione AutoSizing» Arrange Vertically en el mend contextual. 2 Haga cle con el botén derecho en en la defnicién de tio Consumer Message y seleccione View Cluster as leon para guardar el espacio en el ciagrama de loques, LabVIEW Core 2 Manual de Ejerccios ‘©National instruments | 2-29Lecclén 2 mplementando patrones de dizeha 8. Envie los datos de la setial através de la definicién de tipo Consumer Message. Complete el evento Timeout en el bucte productor, como en la figura 2-22. Jura 2-22. Actualizando el evento Timeout del bucle productor ® nor Henaenss 5) => [Fidzen fp conrl used aoc vara Rap oop 1 Definicién de tipo Consumer Message — Copie la definicin de tipo Consumer Message y péguela dentro del evento Timeout, 2 Funcién Bundle By Name — Cablee la definicién de tipo Consumer Message a la entrada de input cluster. Cl Expanda el nodo para mostrar dos elementos. (0. Seleccione Consumer State y Signal. VI Generate Data —Arrdstre ol VI Generate Data desde ol folder Shared en la ventana Project Explorer dentro del evento Timeout. Cablee la salida de Y del VI Generate Data a la entrada de Signal de la funcién Bundle By Name, Cree un control para la entrada de signal del Vi Generate Data. Cree una constante para la entrada de Consumer State Engqueue Element — Haga clic con el botén derecho en el cable de la cola y selaccione Insert»Queue Operations Palette»Enqueue Element. O Conecte el cable de error através de la funcién Enqueue Element con la funcién Get Queue Status. Aparecerd cableado, pero cuando se inserte en el nodo, el cable de error estaré detras de la tunci6n Enqueue Element.aso Display en ef bucle consumider, como en la figura 2 9. Cree el 2-23. Actualizando AL | tscgen r —T is Fag) ER 3 ial —b fy sl ol AP _ for re Ee I — [7 t g © . pe Cengurer Sra? a) a ‘Abra el caso Default de la estructura Case y renombre el caso a “Display”, Default. Funcién Unbundle By Name — Cambie el elemento Numeric Data a Signal y elimine el Boolean Data incluyendo el cable. VI Running Histogram — Arrastre el VI Running Histogram del folder Shared en la ventana Project Explorer. Control Numérico — Cree un control de la entrada bins y coloque una etiqueta al control Bins. XY Graph (Silver) — En el panel frontal, coloque un gréfico del tipo "XY Graph (Silver) " y renombrelo como Histogran. Funcién Bundle ~ Cablee las salidas de histogram y x axis del VI Running Histogram a la funcién Bundle. Reemplace el tune! de la derecha de Histrogram con un registro de desplazamiento y complete el “shift register’. Cablee el registro de desplazamiento de la izquierda a la estructura Case. Haga clic con el botén derecho en la salida de Histogram y seleccione Linked Input tunnel»Create & Wire Unwired Cases, luego haga clic en el tGnel de la lzquierda de la entrada de Histogram. 10 Haga clic con el botén derecho en el registro de desplazamiento de la izquierda y cree una nueva constante, e©etronnane LabVIEW Cove 2 Manual de Ejarcicias ‘@ National Inetruments | 2-31Leccién 2 implemertand pationes de diseho rico | 2-32 10, Cree un evento Snapshot en el bucle productor, cambiando el “High Priority Message” Value Change ev: figura Jura 2-24, Actualizando el bucle productor "Snapshot": Evento Value Change ®@ oe f= {it Sana ant amas a ee Te cape ca+—® wD ra ‘Cambie el nombre del evento — Cambie la etiqueta del bot6n High Priority a Snapshot. Cambiando el nombre del botén se cambia el nombre del evento Funcién Bundle By Name — Elimine los valores cableados a las entradas Boolean Data y Numeric Data de la funcién Bundle By Name y oculte las terminales. Cambien el valor de la cadena de caracteres constante Consumer State a Snapshot. Haga doble clic al control Snapshot para localizar el botén en el panel frontal, Cambie el texto mostrado en el botén @ Snapshot. Bonau Cree el caso Snapshot en el bucle consumidor, como en la figura 2-25 Figur ee Histogram ebunae ae pa Congumer Shutdown? 7 2 3 4 12, Duplicar el caso “Initialize” — Haga clic con el botén derecho en la estructura Case y Seleccione Duplicate Case. Renombre el caso duplicado a Snapshot. Funcién Unbundle — Después de cablear la entrada, la funcién Unbundle contiene dos arrays 1D. Funcién Build Array — Cablee ambas salidas del Array 1D a fa funcién Build Array. VI Write to Spreadsheet File — Cablee la salida de array de la funcién Build Array a la entrada 2D data. Elimine el evento Normal Priority Message de la estructura Event en el bucle productor. LabVIEW elimina el botén correspondiente en el panel frontal LABVIEW Core 2 Manual de Ejercicios ©National instruments | 2-58Fe, srapibot i= Number of queued messages wating to Beprocesied a : Prueba 1 Ejecute el VI ara crear la apariencia de un histograma en el gréfico, haga clic en la etiqueta “plot puede querer eliminar la interpolacion de linea haciendo clic en la leyenda del Observe como al cambiar los valores de Signal y Bins cambia la apariencia del hi Haga clic en el botén Snapshot. Apareceré un cuadto de dialogo de archivos, de Elija el nombre para el nuevo archivo, incluyendo . txt Mientras que el cuadro de didlogo esta abierto, el indicador Backlog aumenta, eleccione un tipo de “horizontal bar plot” de la fila inferior. Usted también fico y seleccionando Interpolation en el mend contextual, istograma. yma que se pueda guardat el archivo del histograma,Cl Haga clic en el botén Save para salir Bl indicador Baeklog deberia decrementarse répidament 5. Haga clic en el botén Stop para detener el VI 6. Abra el archivo de texto guardado y revise el contenido para ver los recipientes y los valores del histograma. 7. Guarde y cierre el proyecto Histogram Fin del ejercicio 2-4 LabVIEW Core 2 Manual de Ejerccios ©National Instruments | 235,Ejercicio 2-5 Nivel de acceso de usuarios Objetivo Para crear una aplicacion de compuertas, usando el patron de disefio de variable funcional global, la cual restringe el acceso del usuario a ciertas caracteristicas basadas en diferentes niveles de acceso de usuario. Escenario Es necesario crear una aplicacién en la que algunas caracteristicas no estén disponibles para todos los usuarios. Se crearé un mimero finito de niveles de acceso de usuarios y se asignara un nivel de usuario apropiado para los diferentes usuarios. Se utilizara un patrén de disefio de variable funcional global para comprobar los diferentes niveles de acceso. Diseflo En la siguiente tabla se describen las diferentes acciones que se necesitan para manejar ¢ implementar el control de acceso de usuario. En este ejercicio, se crea un control personalizado para manejar estos elementos. Accién Descripcién Read User Access Level File | Lee la informacién sobre los usuarios autorizados y sus niveles de acceso a un archivo especifico y almacena esta informacién en la memoria de acceso, Set Current Access Level Define el nivel de acceso del usuario actual en la memoria de la aplicacién. Get Current Access Level Recupera el nivel de acceso de la memoria de modo que Ia aplicacién puede determinar si un usuario tiene acceso a una determinada caracteristica Implementacion 1. Abracl proyecto User Level FGV.1vproj desde
\LabVIEW Core 2\FGVs 2. Abra el folder User Level FGY en la ventana Project Explorer y Iuego abra el VI User Access Level FGV.vi. El VI User Access Level ya contiene varios elementos en el panel frontal, un icono y el panel de conectores.3. Cree un control con definicién de tipo “enum” y modifique el panel frontal como en la figura 2-27 Fi 2-27. nara Ure teve 1 FGV ei Det num (Silver) — Haga clic con él botdn derecho en el control Enum y séleccione Make Type Def, luego haga clic con el bol&n derecho y seleccione Open Type LabVIEW Core 2 Manual de Ejercicios ‘© National lnstumenis | 2-87Leceién 2 Inplamertando patronas de cicero ricom | 2.28 4, Afada las tes acciones listads en la seccién Diseio de este ejercicto a la definicin de tipo User Level Cmd como en la figura 2-28 Figura 2-28. Editar el Enuin de User Access Level Cd eae peo! “eens | as | Bo fo 7 Enum — Haga clic con el botén derecho y seleccione “Eat ems”. 5. Guarde el Enum como User Level Cnd. ct en
\LabVIGW Core 2\FGVs\User Level FGV y-ciere la ventana de edicién del control personalizado.6. Desde el panel frontal del VI User Access Level FGV, asigne un terminal desde el nivel superior del panel de conectores del VI User Access Level al control Iser Level Cmd, como en la figura 2-29, Jura 2-29. Asigne el control Use: Level Crd Control a la terminal det panel de conectores. 1 Terminal del panel de conectores — Haga clic en la terminal, luego haga clic en el control User Level md para asignar el control al terminal del panel de coneciores. Haga clic con el botén derecho en el terminal del panel de conectores y seleccione This Connection Is»Required. Al hacer que el terminal sea requerido, una aplicacién debe proporcionar un valor para la entrada del User Level Cmd cuando se ulliza el VI User Access Level en otro VI, LabVIEW Core 2 Manual de Ejerccios ©National instruments | 2-39eccién 2 Implementando patones de diseho nico | 240 Cree un marco para la variable funcional global, completando el diagrama de bloques como en la figura 2-30. Figura 2-30. Creando un marco para la variable funcional global © User Maine User Level Gms Out 1 Selector de caso — Cablee el cluster Error In al selector de caso de la estructura Case para configurar los casos de error y no error. Case selector — Cablee el User Level Cmd al selector de la estructura Case interna, 3. Estructura Case — Haga clic con el botén derecho en la estructura Case y seleccione Add Case for Every Value en el meni contextual y seleccione “Read User Access Level File”, Default, Error In/Error Out — Cable Error In hasta Error Out, a través de las estructuras. 5 Cablee Error In/Error Out a través de todos los casos — Haga clic con el botén derecho en el ttinel de salida y seleccione Linked Input Tunnel»Create & Wire Unwired Cases. Cuando el cursor se convierte en una herramienta de conexién, haga clic en el tunel de entrada del lado izquierdo. Pequerios tridngulos blancos dentro de los tineles de entrada y salida indican el enlace. Consejo. Utilice la opcién Add Case for Every Value cuando se sepa que cada diagrama de casos es significativamente diferente, Si los casos contienen subdiagramas similares, uilice la opcién Duplicate Case en su lugar. Después de duplicar un caso, puede modificar y cambiar su nombre.Complete el caso Read User Access Level File como en la figura 2-31 Figura 2-31. Configurando el caso Read User Access Level File Userteme eer Leve Cm ner Out tnorh, fear 1 Larulaa User Access Levels. txt es relativa a donde se guarda al VI User Access Level FGV. En este caso, él archivo de texto esi en un directorio paralelo. 2 VI Read From Spreadsheet File — Haga clic en el selector polimérfico y seleccione String. 1 Cablee la salida de all rows a través del tGnel en la estructura Case al bucle While. 3 Registro de desplazamiento — Haga clic con el botén derecho en el tUinel y seleccione Replace with Shift Register. Haga clic en la parte izquierda del bucle While para completar el registro de desplazamiento. Etiqueta — Haga clic con el bot6n derecho en el cable y seleccione Visible Items»Label, luego teclee en el nombre User Names 6 Levels, 5 _Enlace el tunel de salida con el tunel de entrada correspondiente y cablee los casos que no han sido cableados de el tunel. LabVIEW Core 2 Manual de Ejrcicios {© National instruments | 2-41Leccidn 2 implamentando patron 9. Complete el caso Set Current Access Level como en Ia figura 2-32. Figura 2-32. Configurando el caso Set Current > ner ames Levels = » User bes > on ‘Nemes Cola Funcién Index Array — Cablee User Names & Levels a la funcién Index Array. Constantes User Levels Column y Names Column — Cree constantes para la entrada index (col) de la funcién Index Array. Registro de desplazamiento — Cambie el ttinel por un registro de desplazamiento. Haga clic con el botén derecho en la salida del tinel y seleccione Link Input Tunnel»Create & Wire All Unwired Cases. RoneFols= > User Names Lets > E> Urertevel > Use tame Usec level Oma a = 11, Cablee el caso de error como en la figura 2-34. Figura 2-34. Caso No Error User Level eer te Sep User Level Gnd Enrorla [ Kiso UsaeLevel enor Out LabVIEW Core 2 Manual de Ejerccios ‘© National instruments | 2-43Leccién 2 Implementando pationes de diseho 12. Guarde y cierte el VI. Prueba 1. Desde el proyecto, abra User Access Levels. txt y revise los contenido del archivo. Este archivo contiene los nombres de los usuarios autorizados niveles de acceso. Si quiere puede agregar nombres de usuario adicionales y niveles. sus 2. Haga doble clic en User Access Level FGV Unit Test.vi en la ventana del Project Explorer para abrir el V1. Este VI toma el nombre de usuario que se introdujo, establece los permisos del VI al nivel de acceso de usuario, y comprueba si se establece el nivel de acceso adecuado. 3. Complete el evento “Set User Access Level": Value Change, como en la figura 2-35. Figura 2-35. Completando el evento "Set User Access Level": Value Change 2 Saar Rccea Lea Vale Crange *) Set User Acces Level v cone ve Exorla ral Ga b 5 io 1 Vi User Access Level FGV — Este es él VI que se modifiod en este ejercicio. Ya se ha colocado en el diagrama de bloques. 2 _Constantes User Level Gmd — Haga clic con el botén derecho en la entrada de User Level Cmd y seleccione Create»Constant.36. Complete el evento “Access Secure AY 4. Complete el evento “Access Secure Area”. Value Change, como en la figura 2-36. 5, Ejecute el VI con los siguientes nombres de usuario y verifique que el nivel de usuario es correcto haciendo clic en el botén Test Access Level. Nombre Nivel de Usuario John Operator Paul Admin George Admin Ringo Operator 6. Guarde y cierre el proyecto. Fin del ejercicio 2-5 LabVIEW Core 2 Manual de Ejercicios ONational instruments | 2-45Control de la interfaz de usuario Ejercicios Ejercicio 3-1 Visualizacién de temperatura y limites Ejercicio 3-2 Personalizacién de la Ventana del VI Ejercicio 3-3 Uso de subVIs LABVIEW Core 2 Manual de Ejereicios © National instruments | 94Leccién'd Coniral de a interiaz Ejercicio 3-1 Visualizacion de temperatura y limites Objetivo Use Nodos de Propiedad para cambiar las propiedades de los objetos del panel frontal programaticamente, Escenario Complete un VI que registre la temperatura en un grafico tipo “waveform chart”, Durante la ejecucién, el VI realiza las siguientes tareas: + Desactivar y activar los controles en el inicio y la finalizacién de la ejecucion. * — Configurar el valor Ax del grafico tipo “chart” con el valor que define el usuario. + Borrar el grafico tipo “waveform chart” para que inicialmente no contenga datos. + Reto: Cambiar el color de una curva si los datos superan cierto valor. Disefo Se debe construir este V1 en cuatro etapas, incluyendo un desafio. Parte 1 — Deshabilitar controles Parte 2— Habilitar controles Parte 3 — Limpiar el grafico Parte 4 — Desafio: Cambiar el color del contenido del grificoFigura 3-1. Pane! frontal de Temperature L xa0- 0 200- op 83 Lb is 2028 39 Tie | aw: = : so Start Acquiston VIy luego ha enel botén Start Acquisition Tenga en cuenta que mientras que el VI se ejecuta, los controles siguen habilitados. Se pueden cambiar los valores de los controles, mientras que el VI se (Haga clic en el botén Stop. icar el diagrama de bloques como se muestra en la figura 3-2 para desactivar los controles cuando el VI se ejecuta. LabVIEW Core 2 Manual de Ejercicos © National Instruments | 33olde a ietertar de usuario Figura 3-2, Hightinit — Tempertne ‘Nodo de propiedad Delta t (ms) — Haga clic con el boton deracho en el control Delta t (ms) y seleccione Create»Property Node»Disabled. Haga clic con al botén derecho en el nodo de propiedad y seleccione Change All to Write. Node de propiedad High Limit — En el caso Timeout del estructura event, haga clic con el botén derecho en el control High Limit yseleccione Create»Property jode»Disat Ci Coloque ef nodo de propiedad fuera del bucle While, para que pueda moverse dentro de “Start”: Value Change. [Haga clic con el botén derecho en el nodo de propiedad y seleccione Change All to Write. Nodo de propiedad Temperature — En el caso Timeout de la estructura event, haga clic con el bot6n derecho en el indicador Temperature y seleccione Create» Property Node»X Scale» Offset and Multiplier» Multiplier. ._ Coloque et nodo de propiedad fuera del bucle While, para que pueda moverse dentro de “Start: Value Change. Haga clic con el botén derecho en el nodo de propiedad y seleccione Change All to Write, 1 Mueva el nodo de propiedad High Limit dentro de “Start”: Value Change. ‘To Double Precision Float — Convierte la entrada 132 del contro! Delta t (ms) a un nimero de precisién doble. Haga clic con el botén derecho en el nodo de propiedad de Delta t (ms) y seleccione Create»Constant, configrelo a Disabled and Grayed Out.Prueba 1. Bjecute el VI-y luego haga clic en el botén Start Acquisition, Los controles Delta t (ms) y High Limit estan dehabilitados y atenuados 2. Detenga et VI tion y note que los controles aiin ests dehabilitados, 3. Bjecute nuevamente el VI, haga clic en el botén Start Acq Parte 2 — Habilitar controles Se quieren deshabilitar los controles mientras el VI se ejecuta, sin embargo, se desea habilitarlos de nuevo la proxima vez que se ejecute el VI. 1, Modificar el diagrama de bloques como se muestra en la figura 3-3 para habilitar los controles cuando el VI se ejecuta. Figura 3-3. VI Temperature Limit — Habiltar os controles desde el diagrama de bloques {Seva Chana & i : feed ane ated ppbaved OQ ay (rabiethe conta invialae Event taut Tor fndeiice wait nth 1 1 Cree una copia de los nodos de propiedad de Delta t (ms) y High Limit y arréstrelos a la izquierda, fuera del bucle While 2 Cree una constante para habiltar los controles. LabVIEW Core 2 Manual de Ejercicios © National Instruments | 25Lecclin 3 Control de ia interaz de usuario nico | 28 Prueba 1, Bjecute et VI y observe que los controles se activan de nuevo antes de hacer clic en el botén Start Acquisition Establezca diferentes valores para los controles y haga clic en el boton “ a partir de donde se detuvo Ta iltima vez que se ejecut6 el VI tart Acquisition”. Tenga en cuenta que los datos que se muestran en el gréfico comienzan Parte 3 — Limpiar el grafico Se desea borrar el contenido del grafico cada vez que ejecute el V1. 1. Modificar el diagrama de bloques como se muestra en la figura 3-4 para borrar los datos antiguos del grafico cada vez que ejecute el VI Figura 3-4. VI Temperature Limit — Eliminar los datos del gréfico desde el diagrama de bloques fi "So tue Chae “FF iiss (vent Tor a jefe wt ci} — Detain) High Limit Texperture Pesmmed) -piuated a= | é Psy sae pee fou, a [rDisebied snd Grayed Out =] Se sunt Bh Tea a 7 Nodo de propiedad Temperature — Crear una copia del nodo de propiedad Temperature y arrastrarlo a la izquierda del bucle While, Haga clic en el nuevo nodo de propiedad y seleccione History Data. 2 Haga clic con el botén derecho en la entrada History y seleccione Create»Constant. Esto crea un cluster con valores 0 para inicializar el gréfico de temperatura a0 cuando el VI comienza a ejecutarse,Prueba 1, Ejecute el VI, haga clic en el botén Start Acquisition y deje el VI ejecutarse unos segundos, luego haga clic en el botdn Stop. 2, Bjecute el VI nuevamente, Observe que el grafico esti limpio antes de hacer clic en el botdn Start Acquisition y que se escriben nuevos datos en este Parte 4 — Desafio: Cambiar el color del contenido del grafico Modificar el VI para que ia tramna de datos en el grifico cambie de color cuando se excede el limite maximo. Fin del ejercicio 3-1 LabVIEW Core 2 Manual de Ejecicios @ National instruments | 37svcom | 38 eccién 3 Contol de a ineraz de usuario Ejercicio 3-2 Personalizacion de la Ventana del VI Objetivo Modificar Jos atributos de un VI usando Nodos de Propiedad y Nodos de Invocacién. Escenario Puede configurar las propiedades de aspecto de un VI estaticamente usando la pagina de propiedades de! V1. Sin embargo, las interfaces de usuario robustas a menudo deben modificar el aspecto de un panel frontal mientras se ejecuta el programa. ‘Modificar el VI Temperature Limit para presentar el siguiente aspecto y comportamiento cuando el VI se ejecuta: + Esconder la barra de herramientas + Esconder la barra de menus: + Esconder las barra de desplazamiento + Moverse al centro de la pantalla + Escribir datos a un archive Excel Disefio Propiedades ‘Use las siguientes propiedades y métodos de la clase VI: + ShowMenuBar — Cuando esta propiedad tiene un valor False, la barra de meniis no se muestra en el VI Figura 3-5. Barra de mentis del VI Fie Edt View Project Operate Tools Window Heb+ Tool Bar Visible — Cuando esta propiedad tiene un valor False, la barra de herramientas no se muestra en el VI Figura 3-6. Vi barra de herramientas Métodos ‘A diferencia de las propiedades, un método tiene un efecto cada vez que lo lame, Por lo tanto, debe Hamar a métodos slo cuando desee realizar una accién, Por ejemplo, si llama al método Fp.Center usando cada iteracién de un bucle, el VI se centra continuamente, impidiendo que lo mueva el usuario, Puede usar una estructura Case para controlar la llamada al método en una determinada iteracién de un bucle. Use el siguiente método de la clase VI + Center: cada vez que Hlame a este método, el VI se mueve al centro de la pantalla Q Consejo Use fa ventana Context Help para ver descripeiones de cada propiedad y método LabVIEW Core 2 Manual de Ejrccios ©National Instruments | 3-9tar Acauiiton Implementacion Parte 1 — Configurar las propiedades de apariencia Abra el VI “Temperature Limit.vi” situado en el directorio
Center. Usted debe cablea la referencia del nodo de propiedad antes de configurar este método. 6 LabVIEW Cote 2 Manual de Ejercicios Nota Note que las propiedades de visibilidad de la barra de desplazamiento se aplican a la clase Pane, no a la clase del VI. El panel frontal se puede dividir en varios paneles utilizando la barra de divisién horizontal o barra de divisién vertical. Cada panel puede tener sus propias barras de desplazamiento, ©National instruments. | 3-11Leceiin 3 Contot dela inlerfaz do ueuaria ricom | 12 3. Guarde el VI Prueba 1. Ejecute ef VE 2. Verifique que las barras de desplazamiento, barra de herramientas y barra de ments no se muestran, y que la ventana del panel frontal esta centrada en la pantalla, cuando e] VI se encuentra en ejecucién, 3. Detenga el VI. Parte 2 — Exportar datos Agregue un método para exportar datos del grafico temperature a Excel. 1. Modificar el diagrama de bloques como se muestra en la figura 3-9 para exportar los datos mostrados en el grafico Temperature a Excel. Figura 3-9. VI Temperature Limit — Diagrama de bloques para exportar a excel =, = fm © cma|f) eet 1 Nodo de Invocacién Temperature — Haga clic con el botén derecho en el indicador Temperature y seleccione Create»Invoke NodenExport Data to Excel. 2. Guarde el VIPrueba 1. Bjecute el VI 2, Haga clic en Stop, Para que el método de exportar los datos a excel cree un archivo temportal de Excel con tos datos del grafico con fa forma de onda. Vea los, datos en el archivo de Excel 3. Guarde y cierre el VI Fin del ejercicio 3-2 LABVIEW Core 2 Manual de Ejerccios @National Instruments | 3413Lecciin’3 Contr de la ntarlar de usuario sicom | 314 Ejercicio 3-3 Uso de subVIs Objetivo Use referencias de control para crear tun subVI que modifique propiedades de grificos tipo “graph” o “chart” Escenario Crear subVIs para e] VI Temperature Limit que le permitan manejar algunas de las funciones que ha habilitado en el ejercicio 3-1 y en el ejercicio 3-2 Implementacion 1. Abra el VI“Temperature Limit.vi” desde el proyecto Temperature Limit situado en el directorio
\LabVIEW Core 2\Temp Limit - SubVIs. 2. El diagrama de bloques, como el de la figura 3-10 incluye cédigo para: + Ocultar las barras de desplazamiento mientras se ejecuta + Configurar propiedades de didlogos+ Habilitar nnevamente los controles cuando se detiene el VI Figura 3-10, Temperature Limit — SubVI fram benim = [roto wt th i a a Comma Fe LabVIEW Core 2 Manual de Ejercicios @Natonal instruments | 3415faz de usuario nisom | 36 Leceldn En este ejercicio, se modificara el diagrama de bloques para utilizar subVis y utilizar referencias de control. La figura 3-11 describe los subVIs que creara y utilizard salable. VI Temperature Limit mas modular y es Figura 3-11, VI Temperature Limit —Diagrama de bioques - t para hacer e ae a ‘SubVi Set Scroll Bar State — Oculta las barras de desplazamiento cuando se ejecuta él Vi 2 SubVI Set Dialog Properties — Oculta la barra de herramientas y de mend cuando se ejecula el VI. 3. VISet Enable State on Multiple Controls — Contigura todos los controles en el array de entrada oon el valor del estado Enable. 3. Crear el subVI Set Scroll Bar State. (© Enel VI Temperature Limit, resalte el cédigo mostrado en la figura 3-12 y seleccione EdityCreate SubVI Figura 3-12, Destacando el cédigo Scroll Bar State Pane —— —pVertSerollbarvisibilty pHarizScrallbanvisibilty 4. Abra el subVI.(3 Haga doble clic en el icono del subVJ en el diagrama de bloques para abrir y modificar el panel frontal del subVI que se acaba de crear, como en Ja figura 3-13. 13, Panol frontal del sub\. Earn Mo Ero” status code [Teapentre i Coma « 1 _Indicador de Salida Pane Reef — cree una copia del control Pane Ret. Haga clic con el botén derecho en la copia y seleccione Change to Indicator y cambie la etiqueta. 2 Asigne la salida del indicador Pane Ref a la salida del terminal superior derecho del panel de conectores. Las conexiones para los otros controles ¢ indicadores, ya deben estar creadas. LabVIEW Core 2 Manual de Ejrciios ©Natonal instruments. | 3-17seein 3 Contal de laine de usuario rico {218 5. Modifique el diagrama de bloques de! subVI Set Scroll Bar State como se muestra en la figura 3-14 Figura 3-14. Diagrama de bloques del subVi Set Scroll Bar State fame Retin 6. Cable la referencia y los cables de error a través del caso error en la estructura. 7. Cree un icono significativo para el subVIy guardelo como Set Scroll Bar State.vi enel directorio
\LabVIEW Core 2\ Temp Limit - subVI 8. Cree el subVI Set Dialog Properties. 9. Enel VI Temperature Limit, resalte el cédigo mostrado en la figura 3-15 y seleccione Edit»Create SubVI. Figura 3-15. Destacando el cédigo Set Dialog Properties eee ee FP chowiven Ba Center Teivisible10. Abra el subVI que acaba de crear y modifique el panel frontal como se muestra en fa figura 3-16. Figura 3-16. Panel frontal del subVI Set Dialog Properties indicador de salida VI Ref — Cree una copia del conirol VI Ref. Haga clic con el botén derecho en la copia y seleccione Change to Indicator y cambie la etiqueta, Asigne la salida del indicador VI Ret a la salida del terminal superior derecha del panel de conectores. Las conexiones para los otros controles e indicadores ya deben estar creadas. LabVIEW Core 2 Manual de Ejericios ‘© National instruments | 3-19sicom | 320 Leccién 3 Control de a inert de usuario Funcién Not — Invert la légica del bot6n Enable Dialog Properties cabledndolo al nodo de propiedad para mostrar la batra de menus y barra de herramientas 11, Cable la referencia y los cables de error a través del caso error en la estructura, Cree un icono significativo para el subVI y gudrdelo como Set. Dialog Properties. vi enel directorio
\LabVIEW Core 2\ Temp Limit ~ SubVI 13, Agregue el VI “Set Enable State on Multiple Controls” al diagrama de bloques del VI Temperature Limit. (1 El VI Set Enable State on Multiple Controls se proporciona en el proyecto de Temperature Limit.Amrastre dos copias del VI desde la ventana Project Explorer al diagrama de bloques de Temperature Limit y complete el diagrama de bloques como se muestra en la Figura 3-18. Frise cael VI Server References — Cree referencias para el control Delta t (ms), el control High Limit, y el control botén Start. 7 1 Haga clic con el botén derecho en cada control y seleccione Create»Reference, El control High Limit esté en el evento Timeout. 2 Build Array — Expanda el nodo para que acepten tres entradas. 3 _SubVI Set Enable State on Multiple Controls — Cree una copia del subVI y la constante Disabled Stale y coloquelos en el ‘Start’; Value Change, Prueba 1. Bjecute el VI Temperature Limit y verifique que se comporta segtin lo esperado. 2. Guarde y cierre todos los Vis y el proyecto Temperature Limit Fin del ejercicio 3-3 ©Nationalinsvuments | 321 LabVIEW Core 2 Menual de EjrciciosTécnicas de E/S de fichero Ejercicios Ejercicio 4-1 Crear rutas de archivos y carpetas Ejercicio 4-2 _Escribir miltiples canales con encabezados sencillos Ejercicio 4-3 Lectura de archivos TDMS LabVIEW Core 2 Manual de Ejercicios © National lastuments | 4-1ecci6n 4 Técnicas de EIS de icnero ricom | 42 Ejercicio 4-1 Crear rutas de archivos y carpetas Objetivo Modificar un VI con el fin de crear programaticamente una carpeta si esta no existe 0 reemplazarla si ya existe. Implementacion 1. Abrael proyecto Create folder and file. 1vproj enel directorio
\LabVIEW Core 2\Create folder and file. 2. Haga clic con el botén derecho en Create folder and file.lyproj en la ventana del Project Explorer y seleccione Explore, Observe los archivos en la carpeta y observe que no hay ninguna carpeta llamada Logged bata. 3. Abrael VI Create Data File.vi desde la ventana Project Explorer.4. Examine el diagrama de bloques como en Ja Figura 4-1 1 VI Create Data File — Inicio \ pensCreteReplace file fle efrum Se 5 1008 End Funds} Cee rant ea ‘Application Directory — Retorna la ruta al directorio que contiene la aplicacion. Esto és util porque esta uflizando un subVI para crear el archivo de datos. Build Path — Afiade “Logged Data’ al nombre de fa ruta del archivo. Create Folder — Si la carpeta Logged Data no existe, esta funcién la crea. Build Path — Esta instancia de la funcién Build Path afiade el nombre de archivo auto generado Acquired Data
. txt ala ruta del archivo. Open/Create/Replace File — Reemplaza o crea el archivo. Format Date/Time String — Genera una cadena de caracteres que contiene la fecha y la hora actual Format nto String — Goncatena las cadenas de caracteres pata crear el nombre del archivo. Noaonons 5. Utilice la ayuda contextual y Ia ayuda detallada para la funcién Format Date/Time String y para identificar el significado de los cédigos de formato relacionados, con el tiempo utilizados en este VI 1D Abra la funcién Context Help si atin no est abierta, 1D. Posicione el cursor sobre la funcién Format Date/Time String y haga clic en el enlace Detailed Help en la ventana de Context Help. LabVIEW Core 2 Manual de Ejercicios ‘©Natonal Instruments | <3rigom | 4 Leccién 4 Téenieas de B/S da fichera a la ayuda de la funcién Format Date/Time String, para com significado de los siguientes eédigos: + %d + %y + 4H + %M 6. Ejecute el Vi para comprobar la funcionalidad. (O Habilite fa opcién “Highlighting Execution” (D Ejecutar el-VI una vez y ver el flujo de datos en el diagrama de bloques, (0 Abra el directorio
\LabVIEW Core 2\Create folder and file y note que una nueva carpeta llamada Logged Data ha sido ereada y contiene un archivo vacio. Compruebe que el nombre del archivo incluye los componentes de fecha y hora, usando los cédigos utilizados en el VI 7. Ejecute el VI nuevamente, © Note que un error ocurre en la funcin Create Folder. Abra el panel frontal, haga clic con el botén derecho en la salida del cluster de error y seleccione Explain Error. El cédigo de error 10 (Duplicate Path) es retomado, debido a que la carpeta ya existe. 8. Modifique el cédigo para verificar que la carpeta Logged Data ya existe, como en la figura 4-2. 9. Solamente si la carpeta no existe, cree una. Por lo tanto, se encierra la funcién Create Folder en la estructura Case, Se utiliza la salida del VI Check if File or Folder Exists para llamar condicionalmente a la funcién Create Folder.10. Modifique el diagrama de bloques para crear condicionalmente la carpeta Figura 4-2. Diagrama de bloques del VI Create Data File — Completo _ Jimny sor Out Ea Te VI Check if File or Folder Exists — Comprueba si el archivo o la carpeta existen y envia la informacién a la funcién Create Folder. Estructura Case — Afiada una estructura Case alrededor de la funcién Create Folder y haga clic en el borde de la estructura Case y seleccione Make this Case False. Esta carpeta es creada solo sino existe. 41 Cablee la referencia y los cables de error a través del caso True. 11. Guarde el VI ejecifelo nnevamente, Note que se crea el nuevo archivo . txt y que el VI no retoma ningtin error. Fin del ejercicio 4-1 ©National Instruments | 45 LabVIEW Core 2 Manual de EjezcciosLeccién 4 Técnicas de E/S de fchero Ejercicio 4-2 Escribir multiples canales con encabezados sencillos Objetivo Construir VIs coherentes, modulares y de fécil lectura que le permitan a la aplicacién tener escalabilidad y ser de facil mantenimiento. Los arrays en LabVIEW almacenan canales en filas y los archivos de texto tipicamente almacenan el canal de datos en columnas (por ejemplo, Excel usualmente almacena datos en columnas) Utilice las funciones de LabVIEW para convertir fécilmente arrays numéricos en cadenas de caracteres. Implementacion 1, Abrawrite Multiple Channels with Simple Headers.1vproj desde el directorio
\LabVIEW Core 2\File I0 - Multichannel with Header. 2. Abra Write Multiple Channels with Simple Header.vi desde la ventana Project Explorer, y abra el diagrama de bloques.Este Vi utiliza varios subVis para hacer mas modular y més legible el c Write igo. En este ejercicio se completara el VI Format File Property y el VI MultiChanne! Figura 4-3. Diagrama de bloques del Vi Write Multiple Channels with Simple Header. a | & 1 ViFormat File Property — Se utiizan cuatro copias de este VI para agregar fecha, hora, nombre del operador, y nimero de Serie UT ala cabecera del archivo. 2. ViCreate Data File — Como se vié en el ejercicio 4-1, este VI crea y guarda un archivo programaticamente, 3 VI MuttiChanne! Write LABVIEW Core 2 Manual de Ejereicios @National instuments | 47Lect 4 3. Enel diagrama de bloques del VI Write Multiple Channels with Simple Header, haga doble clic en el subVI Format File Property y modifique el diagrama de bloques como se muestra en Ia figura 4-4 Figura 4-4. Diagrama de bloques del VI Format File Sa Faedroperyhime jf f Ga J Fe i 1 Fe ropey vai ttt a in korn PLL snorow ——-— oe Constante tabulac 2. Constante de final de linea 3. Format Into Sting — Haga doble cc en el nodo para abrir el cuacko de cilogo Ealt String Format y seleccione Fermat string (abe) del mond desplegable Selected operation (example) én 1 Haga clic en el botén Add New Operation tres veces para afiadir tres operaciones més del tipo Format string a la lista Current format sequence. Haga clic en OK para cerrar el cuadro de didlogo. G_Observe que la funcién Format Into String ahora tiene cuatro entradas que corresponden a las cuatro operaciones que han afadido. Nota Cuando se afiaden operaciones a la secuencia de formato en el cuadro de didlogo Edit Format String, LabVIEW afiade un espacio entre cada uno de forma predeterminada. Se pueden eliminar los espacios en la seccién Corresponding format string del cuadro de diélogo. 4. Cierre y guarde el VI Format File Property.5. Enel diagrama de bloques del VI Write Multiple Channels with Simple Heade como se muestra en la figura 4-5 haga doble clic en el subVI MultiChannel Write y complete el caso No Error, a a) bitte Fie Refoun EE ie Rerum Ost Earn Be renner a 7 Transpose 2D Array — Debido a que LabVIEW almacena datos del array en las filas de forma predeterminada, esta funcion transpone el array para escribir los datos en columnas 2. Array to Spreadsheet String — Convierte el array a una tabla en forma de cadenas de caracteres. 3__Write to Text File — Escribe una cadena de catacteres 0 un array de cadenas de caracteres a lineas en un archivo. 6. Guarde y cierre el VI MultiChannel Write. Prueba 1. Ejecute el VI Write Multiple Channels with Simple Header y cree un nuevo archivo de datos. Este VI utiliza el VI Create Data File usado en el ejercicio 4-1, para programéticamente crear un directorio de Logged Data y el archivo de datos en el mismo directorio que contiene la aplicacién. LabVIEW Core 2 Manual de Eereciog National instruments | 49icom | 4-10 Lecciin 4 ‘Técnicas de E/S de ficneto 2. Afiada el directorio Logged Data a su proyecto. 1 Ena ventana del proyecto “Write Multiple Channels with Simple Header “, haga clic con el botén derecho en en My Computer y seleccione Add»Folder (Auto-populating) (1 Navegue a cExercises>\LabVIEW Core 2\file IO ~ Multichannel with Header\Logged Data y haga clic en el botén Select Folder. 2 Abrael directorio Logged Date de la ventana de LabVIEW Project Explorer y note que contiene el archivo que se cre6 cuando se ejecuté el VI Save Multiple Channels with Simple Header. (Abra y examine el archivo generado en el directorio Logged Data. 3. Lea el archivo de datos. ( Bjecute ef VI Read Multiple Channels with Simple Header. 1 Naveguea
\LabVIEW Core 2\Pile IO - MultiChannel with Header \Logged Data y seleccione el archivo de datos que acaba de crear. 4. Guarde y cierre todos los VIs. Guarde y cierre el proyecto Write Multiple Channels with Simple Header. Desafio 4-2A Objetivo Cree un VI que tome los nombres de propiedad como entradas y retome el valor de propiedad apropiado. Escenario ‘Suponga que el encabezado de su archivo incluye un numero variable de nombres de propiedad y valores. Después de leer en el archivo, se desea accesso al valor de propiedad de forma programitica, para una propiedad dada. Por ejemplo, en este ejercicio, una de las propiedades era “UUT Serial Number”. Se requiere programaticamente buscar “UUT Serial Number” y devolver el valor del numero de serie (¢.g., “A12345"). Descripcion Después de leer la cadena de caracteres de la hoja de cAlculo en la memoria, utilizar un enfoque modular para crear un VI que se encuentra el indice de fila de un nombre de propiedad. Luego utilice el indice de fila para retornar un valor de propiedad. Si el nombre de propiedad no es encontrado, el VI debe devolver un error descriptivo.Desafio 4-2B Objetivo Cree un VI que genera encabezados de columna delimitados por tabulaciones por un niimero arbitra de canales, Escenario EI VI MultiChannel Write puede escribir datos para un mimero arbitrario de canales utilizando un array de dos dimensiones, Se desea crear un encabezado de canal para cada canal de datos. Puesto que el ntimero de canales es arbitrario, se necesita un enfoque escalable que permita un numero variable de encabezados de canal, Por ejemplio, si se tienen 3 canales de datos: temperatura, presién y tensidn; se desea escribir los datos en el archivo con los siguientes encabezados: Temperatura, Presién y Tensién. Para el archivo en el formato correcto, se desea que los mismos delimitadores sean utilizados en el encabezado, tal como se utiliza para los datos del canal, Por ejemplo, si el canal de datos es delimitado por caracteres de tabulacién con cada linea terminada por un caracter de final de linea, se desea que el encabezado tenga el mismo formato. Descripcién Crear un VI llamado Write Channel with Headers que puede ser llamado antes del VI MultiChannel Write que escribe al encabezado del canal por cada canal de datos. EI VI debe tomar un array de cadena de caracteres como entrada. El subVI debe escribir las cadenas de caracteres a un archivo de modo que una pestafia separa cada cadena de caracteres y la linea termina con un caracter de final de linea Fin del ejercicio 4-2 LabVIEW Core 2 Manual de Ejereicioe © National instruments | 4-11Lecclin 4 Técnicas de E/S de fchera rico | 412 Ejercicio 4-3 Lectura de archivos TDMS Objetivo Registre datos en un archivo TDMS y lea el misino archivo TDMS para acceder a informacion sobre un canal concreto, Escenario Recibe un VITDMS Logger que genera datos de medidas para cualquier mimero de unidades en prueba (UUTs). Los datos de medidas de UUT constan de una forma de onda de dominio de tiempo y del espectro de energia de una forma de onda. Ejecute el VI TDMS Logger que acepte UUTs identificados por mimeros de serie. El VI TDMS Logger recupera los datos de medidas del VI Generate Data y registra los datos de UUT y propiedades adicionales en un archivo TDMS. El archivo TDMS contiene el autor, la marca de hora y dos grupos de canales: Time Data y Power Spectrum Data, Cada grupo contiene un canal para cada UTT. El riimero de serie de Ia UUT da nombre a cada canal y contiene los datos de la sefial correspondiente. Guardar datos en un archivo no tiene sentido a menos que también pueda acceder a los datos. Cree un VI lector para acceder a los datos del archivo TDMS que gener6. EI lector debe devolver datos de tiempo 0 datos del espectro de energia para un mlimero serie UUT conereto. a Nota Asimismo, si tiene Microsoft Excel instalado en el sistema, puede utilizar la herramienta TDM Excel Add-In para cargar el archivo TDMS en_ Microsoft Excel. Disefo Informacion de referencia del archivo TDMS + Informacién del nivel de archivo — Time Stamp: contiene la hora actual. — Author: contiene el nombre del operador de la prueba, que se adquiere mediante un control del panel frontal. = Elarchivo contiene dos grupos de canales, uno para los datos de la hora y otro para los datos del espectro de energia.+ Informacién del nivel del grupo de canales Name: contiene Time Data o Powex Spectrum Data. Esto identifica el grupo de canals. Cada grapo de canales debe contener un canal para cada UT + Informacién del nivel de canal ‘Name: contiene ef mimero de serie de la UUT, que asocia os datos numéricos con una unidad conereta, — Signal: contiene un array de datos numéricos de coma flotante. = Otras propiedades, como el minimo y maximo de la sefal, se calcularén automaticamente y se afiadiran al archivo. Entradas y salidas del TDMS Reader Tabla 4-1. Entradas y salidas del VI TDMS Reader Tipo Nombre Propiedades Control de cadenas de caracteres Serial Number = Cuadro combinado Data Set Elemento 1 = “Time Data” Elemento 2 = “Power Spectrum” Indicador de tipo “Waveform Graph” Channel Data = Indicador de cadena de caracteres Test Operator = Indicador de marca de hora Time of Test = EI VI debe empezar abriendo el archivo TDMS y leyendo las propiedades del archivo de autor y de marca de hora. A continuacién, lea los datos de hora o de espectro de energia para la UUT especificada y muéstrelos en el gréfico tipo “waveform graph” Channel Data. LabVIEW Core 2 Manual de Ejercicios © National netuments | 4:13Leccién 4 Teenicas de EIS de fichera ricom | at Implementacion TDMS Logger 1. Abra TOMS Logger. vi desde el proyecto TDMS Logger and Reader Project, localizado en
\LabVIEW Core 2\TDMS Logger and Figura 4-6. Panel frontal de TOMS Logger Test Operator i BEA cde 1 plata ee — |2. Pruebe el Vi TDMS Logger (.Escriba su nombre en el campo Test Operator (1 Eseria 3001, A002 y A003 en ef control UUT Serial Numbers. (1 Abra “TDMS Logger.wi" y guarde el archivo como test . tds, en el directorio
\LabVIEW Core 2\TDMS Logger and Reader Cuando se guarda el archivo TDMS, la ventana TDMS File View se abre Consulte los datos registrados en la ventana TDMS File Viewer. Expanda el elemento test.tdms en el panel File Contents de la ventana y luego expanda los items muestra por cada uno de los mimeros de serie UUT que se ingresaron \e Data y Power Spectrum y analice los datos de la (0 Haga clic en Quit para cerrar a ventana TDMS File Viewer. © Examine el panel frontal del VITDMS Logger, que también muestta un grafico para cada mimero de serie que se introduzca. (0 Examine et diagrama de bloques. 11 Cierre el VITDMS Logger. No guarde ningin cambio LabVIEW Core 2 Manual de Ejrcicios @National instruments | 4-15,Leceién 4 ‘Técnicas de EFS do fchero ticom | 446 Vi TDMS Reader 1. Abra el VI TDMS Reader desde la ventana Project Explorer de! proyecto TDMS Logger and Reader. 2. El panel frontal se muestra en la figura 4-7, Figura 4-7. Panel frontal del VI TDMS Reader3. Abra y examine el diagrama de bloques como en la figura 4-8, del VI TOMS Reader base aren fhe Letom anon 1 Vi Application Directory — Retorna la ruta al directorio que contienen la aplicacion. 2. VIFile Dialog Express — Este VI se configura con las siguientes opciones: Limit selection to single item (File — El usuario solo puede seleccionar un archivo 1 Existing — El usuario solo puede seleccionar un archivo o folder existente, 3 TDMS Open — Abra un archivo .tdms para lectura o escritura. 4 Open constant — Haga clic con el botén derecho en la entrada de la funcién TOMS Open y seleccione Create»Constant. 5 TOMS Get Properties — Esta instancia de la funcién Get Properties lee las propiedades del autor del archivo. 6 Constante Time Stamp — Pasa valores de hora y fecha al diagrama de bloques. 7 TOMS Get Properties — Esta instancia de la funcién Get Properties lee las propiedades de fecha y hora del archivo. 8 TDMS Read — Lee los datos del tiempo o del espectro de energia para la UUT especificada y los muéstra en el grafico tipo “waveform graph”. 9 TDMS Close LabVIEW Core 2 Manual de Ejrccios ‘©Natonal Instuments: | 4.17eccién Técnicas de E/S de fl mn | 48 Prueba 1. Lea y muestre los datos del dominio de tiempo. (3 Enel panel frontal del VI, asegtirese de que Data Set se establece en Time Data }_ Escriba 4001 en el control Serial Number. YE} Nota A001 era uno de los mimeros de serie que escribié cuando ejecutd el VI TDMS Logger Ejecute el VI y seleccione el archivo test-tdms que se almacené previamente en
\LabVIEW Core 2\TDMS Logger and Reader. La siguiente informacién se muestra en el panel frontral Waveform Graph — sine wave — Test Operator — su nombre — Time of Test — estampa de tiempo desde que s¢ ejecuté el TDMS Reader Cl Cambie el mimero de serie a A002 (1. Bjecute el VI. Debe aparecer otra onda sinusoidal, 2, Lea y muestre los datos del espectro de energia (Cambie el control Data Set a Power Spectrum, (2 Bjecute el VI y seleccione su archivo TDMS. Deben aparecer los datos del espectro de energia en el grafico tipo “waveform graph”. 3. Cierre el VITDM Excel Add-In (Opcional) Nota Para este ejercicio necesita Microsoft Excel versién 2003 0 2007 y la herramienta TDM Add-in disponible en ni. com 1. Lance Microsoft Excel Haga clic en la pestaita Add-Ins y seleccione el icono TDM Importer: Import a TDM(S) File de la barra de herramientas Custom Toolbars 3. Examine para encontrar el fichero TDMS que creé antes:
\LabVIEW Core 2\TDMS Logger and Reader\test.tdms. La informacién de la propiedad aparece en la primera hoja de célculo, Los datos Time y Power Spectram aparecen en distintas hojas de célculo. 4. Salga de Microsoft Exce! y vuelva a LabVIEW Fin del ejercicio 4-3 LabVIEW Core 2 Manual de Ejerciios ONatonalinstumenis | 4-19Mejora de un VI existente Ejercicio 5-1 Concepto: Refactorizacién de cédigo heredado Este ejercicio consta de cinco Vis en los que usted evaluaré la forma de mejorarlos. Revise cada apcién y elija una o dos para completar el ejercicio durante el tiempo asignado en clase. Las opciones de cédigo para la préctica de refactorizacién se enumeran de la més sencilla a la més dificil Seleccione una de las siguientes opciones para practicar con Ia refactorizacién de cédigo LabVIEW. + SubVis para bucle For + Vide maniputacion de array + De sondeo a eventos + Funcién Format Into String + Formato de cadenas de caracteres SubVIs para bucle For Objetivo ‘Tomar un V1 existente y hacerlo mas legible, escalable y mantenible. Descripcién En el curso de desarrollo de una aplicacién de LabVIEW hay momentos en que los Vis o secciones de Vis terminan siendo escritos incorrectamente, LabVIEW Cove 2 Manual de Ejercicios ‘@Natonal nsiumenis | 5-1eccién 5 Mejora de un Vi exstante sicom | 52 Escenario Su cliente es un centro de investigacién que est haciendo experimentos con materiales superconductores. Los investigadores deben realizar experimentos a muy bajas temperaturas. Los materiales se probaron en una camara que contiene cuatro sensores de temperatura distribuidos por toda la camara, Los sensores retornan temperatura en °C. Debido a las bajas temperaturas implicadas, las temperaturas en °C son menos legibles que en K (Kelvin). Por esta raz6n, la aplicacién del cliente ya incluye un VI que convierte las temperaturas de °C a K. El cliente ha decidido recientemente supervisar mas de cuatro temperaturas. Le preocupa que cada vez que aumenta el niimero de temperaturas, él tendria que actualizar el VI que hace la conversién. En este ejercicio usted refactorizara el VI de conversidn para que sea mas escalable. También se debera hacer el VI mas legible y mantenible. YE) Nota Leescala Ketvin define et cero absoluto, como la temperatura mas baja posible. No se permite ninguna temperatura por debajo del cero absoluto, El cero absoluto es aproximadamente igual a 273°C. Se debera constuit la aplcacién refactorizada para que genere errores sel usvario intenta convert luna temperatura invalida, por ejemplo, temperaturas menores a -273 °C. Abra el VI Convert Temperatures situado en el directorio
\LabVIEW Core 2\Refactoring\Use subVIs_Forloop. Consejos: + Encontrar cédigos repetidos y reemplazarlo con subVIs. + Encontrar eédigo que funciona con un nimero limitado de elementos de un array y escalarlo para trabajar en un niimero ilimitado de elementos. + Limpiar un VI para que sea legible. + Organizar los subVIs y los archivos relacionados en un proyecto. Prueba Ponga a prueba su cédigo refactorizado para asegurarse de que funciona como lo hace la aplicacién original. Asegarese también de que la aplicacién refactorizada genera errores si el usuario intenta convertir temperaturas no validas.Vi de manipulacién de array Objetivo Refactorizar un VI que utiliza una técnica obsoleta para separar condicionalmente un array en miiltiples arrays Descripcion Cada version de LabVIEW introduce nuevas caracteristicas que mejoran la eficiencia de codificacién. Por lo tanto, es posible refactorizar cédigo heredado de alguien que desarrollé el cédigo en una versiGn anterior de LabVIEW. Implementacion 1. Abra Separate Array Values. vi desde el proyecto Anay Manipulation localizado en el directorio
\LabVIEW Core 2\, Refactoring\array Manipulation. 2. Pruebe el VI. ‘Observe que el array de entrada contiene una mezcla de valores positivos y negativos. Después de ejecutarse, el array Positive contiene valores positivos, mientras que el array Negative contiene valores negatives. Consejos: La auto-indexacién condicional permite construir un array condicional dentro de un bucle For. De sondeo a eventos Objetivo ‘Tomar un VI existente que utiliza técnicas obsoletas y refactorizarlo para que sea mds sencillo de leer, escalable y facil de mantener. LABVIEW Core 2 Manual de Ejercicios ‘© National inctuments | 5-3ecciin S Mejora de un Vi existente Descripcién Una gran cantidad de cédigo existente de LabVIEW fue escrito usando practicas que eran estandarizadas y aceptadas en el pasado, pero que resultaron ser menos que ideales en términos de legibilidad, escalabilidad y facilidad de mantenimiento. Escenario Usted hereda una aplicacién antigua de LabVIEW que realiza las siguientes funciones: 1. Adquirir una forma de onda como una serie de tiempo. 2. Caleular la FFT de la forma de onda (es decir, generar el espectto). 3. Caleular los valores maximos y minimos de la forma de onda, La forma de onda y el espectro se muestran en distintos indicadores Waveform Graph como los valores maximo y minimo. Se te pedir que se afiada una funcién para calcular la desviacin esténdar de la serie temporal. Usted notara que el diagrama de bloques del VI esta construido de tal manera que Ia adicién de mas caracteristicas la hace crecer. Abra el VI Waveform Analysis (Polling) situado en el directorio
\LabVIEW Core 2\Spreadsheet Example. Consejos: + Utilice eventos en vez de sondeo. + Utilice registros de desplazamiento en vez de variables locales. + Utilice un proyecto para organizar los archivos. Funcidn Format Into String Objetivo Refactorizar un VI que utiliza la funcién Format Into String para hacer el VI més escalable.Descripcion La funcién Format Into String es muy versatil: convierte miiltiples piezas de datos en una cadena de caracteres, Sin embargo, si se introducen nuevos parémetros, tanto la funcion Format Into String como la cadena de caracteres con el nuevo formato deben ser modificados. Se pueden aiiadir parémetros sin cambiar el VI si todos los parimetros son del mismo tipo de datos Implementacién 1. Abra Format Gas Params. vi desde el proyecto Format Gas Parameters localizado en el directorio
\LabVIEW Core 2\Refactoring\ Format Into String (_ Suponga que usted necesita afladir un nuevo pardmetro DBL (por ejemplo, Explosividad) Note que el nodo Format Into String necesita ser expandido, Cl Observe también que la cadena de caracteres formateada tiene que afiadir \r\nExplosiveness: \s8f. Consejos: Si se necesita afiadir un pardmetro adicional en la cadena de caracteres mas adelante, un array de valores de parémetros hace que sea ficil de afiadir el nuevo nombre. Formato de cadenas de caracteres Objetivo Refactorizar un VI que utiliza la funcién Format Into String para hacerlo més escalable. Descripcién La funcién Format Into String es muy versatil: convierte multiples piezas de datos en una cadena de caracteres. Sin embargo, si s¢ introducen nuevos parimetros, tanto la funcién Format Into String como la cadena de caracteres con el nuevo formato deben ser modificados. LADVIEW Core 2 Manual de Ejercicios ©National instruments. | 55Leccién § Mejora de un VI exstente Escenario Usted heredé un cédigo que crea el encabezado de un archivo ¢ incluye series de pares nombre-valor para los datos de prueba. Debido a que el archivo se espera que sea cargado cn Excel, cada nombre y valor estén separados por una tabulacién y termina con un cardcter de final de linea. Ademas de informacién de tiempo y fecha, el encabezado del archivo también incluye la informacion contenida en un clister, Los nombres de los elementos del cluster y tos valores se utilizan en los pares nombre-valor. Su administrador quiere volver @ ordenar los pares nombre-valor para que la fecha y hora aparezcan en primer lugar. En el futuro es posible que desee aumentar el riimero de elementos en el encabezado del archivo de datos del clister de 3 elementos hasta 10 elementos, Debe actualizar el cédigo para cambiar el orden y preparar para la escalabilidad futura de los elementos del cluster. Implementacion Abra el VI Generate File Header en el proyecto Format File Header, en el directiorio
\LabVIEW Core 2\Refactoring\String Formatting Consejo: + Crear un subVI que formatea cada par nombre-valor. Separe el nombre y valor con una constante de tabulacién y termine con una constante de final de linea. + Luego, procesar una lista de pares nombre-valor. El reto es crear dos arrays paralelos, uno para los nombres y otra para los valores. + Si todos los elementos del cluster son del mismo tipo de dato, se puede convertir un cluster en un array con la funcién Cluster to Array. Seguidamente, puede utilizar un buele For para procesar cada elemento del cluster. + Utilice un nodo de propiedad de control para obtener una lista de referencias de control a todos los elementos del cluster. Se puede obtener acceso a los nombres, de etiquetas de los elementos de cluster. Utilicelo para construir un array de nombres. Fin del ejercicio 5-1Creacion y distribucién de aplicaciones Ejercicios Ejercicio 6-1 Preparacién de archivos para la distribucién Bjercicios 6-2 Creacién y depuracién de una aplicacién independiente Ejercicios 6-3 Construyendo un instalador y depurdndolo en un ordenador remoto LabVIEW Core 2 Manual de Ejercicios @National Instruments | 6-1Leccién 6 Creacin y distibucién de apicaciones Ejercicio 6-1 Preparacién de archivos para la distribuci6n Objetivo Revisar la lista de comprobacién Building Applications y preparar Vis para crear una aplicacién independiente Escenario Revise la lista de comprobacién Building Applications para que le ayude en el proceso de creacién antes de crear un instalador 0 una aplicacién independiente. Las aplicaciones independientes en LabVIEW tienen la propiedad Window Appearance configurada como Top-level application para permitir que el panel frontal se abra al ejecutar el VI Un VI que se ejecuta como un ejecutable independiente permanece en la memoria cuando Ia aplicacién termina de ejecutarse. Por lo tanto, hay que amar a la funcién Quit LabVIEW para cerrar Ia aplicacién cuando ésta termine de ejecutarse. Si coloca la funcién Quit LabVIEW en el diagrama de bloques, dificultara la edicién de la aplicacion en el futuro, ya que LabVIEW sale cada vez que termine la aplicacién. Con el uso del nodo de propiedad App.Kind, puede especificar que LabVIEW se cierre solo cuando se encuentre en modo run-time. Disefio + Modifique las propiedades del VI para construir una aplicacién independiente. + Modifique la aplicacién para lamar a la funcién Quit LabVIEW cuando se ejecute el cédigo en modo run-time. + Modifique la aplicacién para especificar una ruta de salvado de ficheros relativa al ejecutable independiente. Implementacién Antes de crear una aplicacién, primero prepare el cédigo para que se ejecute de forma fiable cuando se compile en una aplicacién.Revise la lista de comprobacion Building Applications 1, Seleccione Help»LabVIEW Help para abrir la Ayuda de LabVIEW. 2. Seleccione Fundamentals»Building and Distributing Applications» Building Applications Checklist 3. Revise los elementos de la lista de comprobacién Preparing Files Configuracion de la ventana de la aplicacién de alto nivel 1. Abra el VI Histogram Main. 11 Sise tiene hardware conectado, abra Histogram. 1vproj enel directorio
\LabVIEW Core 2\Deployment\HK Gi Sino se tiene hardware conectado, abra Histogram. 1vpro} en el directorio
\LabVIEW Core 2\Deployment\No Ht. En la ventana Project Explorer, haga doble clic en Histogram Main.vi para abrir el VI 2. Seleccione File»VI Properties para ver el cuadro de didlogo VI Properties, 3. Seleccione Window Appearance en el ment desplegable Category. 4, Introduzca un nombre, por ejemplo Histogram Application, en el cuadro de texto Window Title. 5, Seleccione Top-level application window para dar al panel frontal una apariencia profesional, cuando el VI se abre como ejecutable. 6, Haga clic en Customize para ver las diferentes configuraciones que LabVIEW posee para ventanas de aplicacién de nivel superior. 7. Haga clic en OK para cerrar el cuadro de didlogo Customize Window Appearance y haga clic en OK para cerrar el cuadro de didlogo VI Properties. 8. Guarde el VI LADVIEW Core 2 Manual de Ejercicios ‘© National Instruments | 63Leowiin 8 Creacidn y distibusion de aplicaciones nicom | 64 Llamada a la funcién Quit LabVIEW |. Abray modifique ef diagrama de bloques para llamar a la funcién Quit LabVIEW cuando termine la aplicacién. La funcién Quit LabVIEW cierra LabVIEW y las aplicaciones tras haberse ejecutado. Figura 6-1. Afiada la funcién Quit LabVIEW al diagrama de bloques, lease Queve = 8 Bs que tabtew Property Node — Seleccione Application» Kind, — 2 Case Structure — Cabiear la aplicacién: Cablear la salida App.Kind al terminal selector de la estructura Case, y @ continuacién, haga clic en el borde de fa estructura Case y seleccione Add Case for Every Value. 3 Quit LabVIEW Function — Ponga esta funcién en el caso "Run Time System", Se pueden dejar fos otros casos vacios 0 eliminarlos. 2. En la ventana Project Explorer, seleccione File»Save All para guardar todos los VIs. Especificar una ruta de archivo relativa al ejecutable El VI Histogram Main ya contiene cédigo para especificar una ruta relativa a la aplicacién ejecutable, Abra el VI Create Data File en el caso Initialize del lazo consumidor. El VI Application Directory crea una ruta relativa a la aplicacién independiente cuando se llama al VI desde una aplicacién independiente, De otra forma, el VI Application Directory devuelve la ruta a la carpeta que contiene el archivo de proyecto. Prueba 1. _Ejecute el VI Histogram Main para asegurarse que esté funcionando. 2, Guarde el VI y el proyecto. Fin del ejercicio 6-1AEjercicio 6-2 Creacién y depuracion de una aplicacién independiente Objetivo Crear una especificacién de constraccién, construir una aplicacién independiente (EXE) en LabVIEW y depurar la aplicacion que se ejecuta en el ordenador local Escenario Crear una aplicacién independiente para ejecutar el VI Histogram Main. Tras haber preparado los archivos, cree una especificacién de construccién de tipo. Application (. exe) y después ejecute Ia aplicacién. Luego se utiliza LabVIEW para depurar la aplicacién en ejecucién, Disefo Use una especificacién de construccién de tipo Application (EXE) para crear una aplicacién independiente para la aplicacién del histograma. Conectarse con Ia aplicacién que se ejecuta mediante la creacién de una sesién de depuracién en LabVIEW. Implementacion Creando una especificacién de construccién de tipo Application (EXE) 1, Abra Histogram. 1vproj enel directorio
\LabVIEW Core 2\Deployment 2, Haga clic con el botén derecho en Build Specifications en la ventana Project Explorer y seleccione New»Application (EXE) en el meni contextual. 3. (Opcional ) Coloque una marca de verificacién en la casilla de verificacién Do not prompt again for this operation y haga clic en el botén OK si aparece un mensaje acerea de la optimizacién SSE2. 4, Modifique el nombre del archivo del directorio objetivo y de destino para la aplicacién en la categoria Information. 1 Seleccione la categoria Information. 1D Cambie Target filename a #istogramPata. exe 1 Introduzca a
\LabVIBW Core 2\Deployment \Executable enel cuadro de texto Destination directory. LabVIEW Core 2 Manual de Ejercicos National Instruments | 6-5ricom | 66 fn y sietrtuelin de aplicaciones Q Consejo, No necesita crear el snectorio, LabVIEW crea cualquier directorio que especifique 5. Especifique el VI de nivel superior. 1 Seleccione fa categoria Source Files. © Seleccione Histogram Main.vi en el arbol Project Files, Haga clic en la flecha a la derecha junto a la lista Startup VIs para afiadir el VI seleccionado a la lista Startup VIs. 6. Incluya el cédigo para permitir la depuracién del ejecutable. 1 Seleccione la categoria Advanced, © Coloque una marca en la casilla de verificacién Enable debugging. 0 Haga clic en OK, 7. En Ja ventana Project Explorer, seleccione File»Save All. 8. Ena ventana Project Explorer, haga clic derecho en la especificacién de construccién My Application y seleccione Build en el mend contextual. 9. Haga clic en Done en la ventana Build Status. Ejecutando la aplicacién. 1, Cierre la ventana del Project Explorer y cierre LabVIEW. 2. Navegue a
\LabVIEW Core 2\Deployment \Executable. 3. Ejecute HistogramData. exe. (2 Haga clic en el botén Snapshot Haga clic en el botén Stop cuando haya terminado. 4, Compruebe que la aplicacién se cierra cuando se detuvo la aplicacién y la aplicacién crea un archivo de texto en la carpeta Logged Data dentro de la carpeta Executable.Depurar el archivo ejecutable en el mismo equipo 1. Abra LabVIEW. 2, Ejecute HistogramData.exe. 3, Seleccione Operate»Debug Application or Shared Library en el ment de LabVIEW. 4. Intioduzca localhost en el euadro de texto Machine name or IP address. 5. Seleccione HistogramData.exe desde el meni desplegable del Application or shared library Haga clic en el botdn Refresh si HistogramData.exe no aparece en la lista 6. Haga clic en el botén Conneet para crear una conexién de depuracién. 7 hi ie Ia depuracién de la aplicacién en ejecucién, Abrael diagrama de bloques. © Habitite la opeién “Highlighting Execution” Trate de usar sondas, puntos de interrupeién, y la opcién single-step. 8, Detenga la aplicacién haciendo clic en el botén Stop en la ventana de depuracién. Fin del ejercicio 6-2 LabVIEW Core 2 Manual de Ejerccios © National Instruments | 6-7Leccién Cresciéay distrtncidn de aplicaciones rico | 68 Ejercicio 6-3 Construyendo un instalador y depurandolo en un ordenador remoto Objetivo Crear las especificiaciones de un instalador y construir ese instalador. Como reto, remotamente depurar la aplicacién creada por el instalador. Escenario Creando un instalador se simplifica desplegar una aplicacién en rmiltiples ordenadores. Tras haber preparado los archivos, cree una especificacién de construccion de tipo Application (. exe) y después cree una Installer Build Specification. Disefo Utilice una especificacién de construccién de tipo Installer para crear un instalador para Ja especificacién de construccién de tipo application (. exe) que usted creé en el ejercicio 6-1B. Implementacién Revise la lista de comprobacion Building Applications 1. Abra la Ayuda de LabVIEW scleccionando Help»LabVIEW Help. 2. Seleccione Fundamentals»Building and Distributing Applications»Building Applications Checklist. 3. Revise los elementos de la lista de comprobacién Configuring Build Specifications. Creando una especificacién de construccién de tipo Installer 1. Haga clic con el botén derecho en Build Specifications en la ventana Project Explorer y seleccione NewoInstaller en el meni contextual, 2. Modifique el destino del instalador en la categoria Product Information. 1 Seleccione la categoria Product Information. 0 Bscriba
\LabVIEW Core 2\Weather Station\Installer como destino del instalador.3. Especifique la especificacién de construccién del ejecutable. 1 Haga clic en la categoria Source Files Seleccione la especificacién de construccién My Application + Seleccione Program Files»Histogram en el érbol Destination View. LABVIEW Core 2 Manual de Ejrccios ‘© National Instruments | 6-8Leccién 6 Greacién y aistibucién de apeaciones com | 6-10 ‘Haga clic en la flecha a ta derecha junto al arbol Project Files View para colocar el histograms ejecutable y todos los archivos ejecutables de soporte en. Program Files»Histogram en ¢l drbol Destination View, como en la figura 6-2. Figura 6-2. Categoria Source Files del instalador Desawon - ee: Sl bien DaRopl Sunes i (teewew 22 os Ssevew 202 Hep} Sieaew 2022tnstumentonve| | Sse 202 Pate 5 eabvi 2022 Run-Toe |S [babi 202 Usertibrais) [tas ew 202) [persona SG PPeogeam Files Common! © Program fies) ‘tions ieaers Dialog leferraton Regitey Hardware Configuration Version Information Winco Secuey avances s [2 tie dap Data i Dyer | Glen} | |B Mndows Volumel | Dmindoms i (eae) CD Ce 4, Aftada el LabVIEW Run-Time Engine de NI al instalador modificando la categoria Additional Installers. YEA Nota siseincluyen instaladores adicionales, asegizese qe los archivos del instalador de ese producto estin disponibles. Algunos archivos de instalacion, como e] LabVIEW Run-Time Engine, ya estan en caché en el sistema en construccién. Para los archivos de instalacién, tales como DAQmx, puede quetenga que insertar el CD 0 DVD que contiene los archivos de instalacién del producto en la unidad de CD/DVD. Si usted esté completando este ejercicio enun ambiente de clases, el instalador DAQmx probablemente no esté disponible. Por fo tanto, no seleccione el controlador DAQmx. Sin embargo, si usted completa este ejercicio en su oficina, usted querrd incluir el instalador de NI-DAQmx Core Runtime en su construccién Seleccione fa categoria Additional Installers Seleccione el instalador NI LabVIEW Run-Time Engine 2012. 5 Haga clic en OK. 5. En la ventana Project Explorer, haga clic derecho en la especificacién de construccién My Installer y seleccione Build en el menii contextual. 6. Haga clic en Done cuando LabVIEW termina de construir el instalador. Prueba 1, Ejecute el archivo setup.exe en el directorio
\LabVIEW Core 2\Deployment \Installer\VoLume, 2. Siga las instrucciones que aparecen en pantalla para instalar la aplicaci6n. El ejecutable se crea dentro del directorio
\Histogram. 3. Ejecutar la aplicacién seleccionando Inicio»Programas»Histogram»HistogramData. Reto Si tiene acceso a Internet durante la clase, intente depurar el archivo ejecutable en un equipo remoto. 1. Verifique que el aula tiene acceso a Internet. 2. Decida si va a depurar la aplicacién de un compafero o instalar la aplicacién en el equipo de su compaiiero. 3. Si decide depurar su propia aplicacién en una computadora remota esta debe distinguirse de las aplicaciones que ya estan en el equipo de su compaiiero. (0 En laespecificacién de instalacién de generaci6n, cambie el nombre de la aplicacién con un nombre iinico. 1 Traslade su instalador al ordenador remoto utilizando una memoria USB o la red. 1 Instale su aplicacion. LabVIEW Cote 2 Manual de Ejercicios © National Instruments | 6-11CGreacion y cistinuctin de aplicaciones ricom | 612 4. Para utilizar LabVIEW en su ordenador para depurar una aplicacién que se éjecuta en un equipo remoto, debe determinar la direccidn TP del ordenador remoto, tam 6 a ibién conocido como el ordenador de destino. Nota Considere su ordenador como el de Development y el de su compaiiero como el ordenador Destination, Abra el mend Inicio de Windows en el equipo de destino, Introduzca cmd y pulse la tecla
Escriba ipconfig en el simbolo del sistema en la ventana de comandos y presione la tecla
. Anote la direccién IP. 5, Bjecutar la aplicacién en el equipo de destino, 6. Enel equipo de desarrollo, abra de LabVIEW, si es necesario. 7. Seleccione Operate»Debug Application or Shared Library en el meni de LabVIEW. 8. Introduzea la direccién IP del equipo destino en el cuadro de texto Machine name or IP address. 9. Seleccione Application or shared library desde el meni desplegable. a Haga clic en el botén Refresh si e] ejecutable no aparece en la lista 10. Haga clic en el botén Connect para crear una conexién de depuracién. LL. Se inicia la depuracién de la aplicacién en ejecucién, a a a Abra el diagrama de bloques. Habilite la opeién “Highlighting Execution” ‘Trate de usar sondas, puntos de interrupcién, y la opcién single-step. 12, Detenga la aplicacién haciendo clic en el botdn Stop en la ventana de depuracién. Fin del ejercicio 6-3Configuracién del hardware Este apéndice contiene instrucciones para configurar el hardware. YE Nota Si tiene hardware instalado y ain no lo ha configurado como parte de un ejercicio del curso LabVIEW Core 1, complete esta configuracién. Lance MAX seleccionando Start»Programs»National Instruments»Measurement & Automation o haciendo doble clic en el icono MAX del escritorio. MAX 1 busca en el ordenador hardware instalado de National Instruments y muestra la informacién, 2. Cree una escala personalizada para el sensor de temperatura del DAQ Signal Accessory. La conversién del sensor es lineal y utiliza la siguiente férmula: Tension x 100 = Celsius LABVIEW Core 2 Manual de Ejercicios National Instruments | ActFigura A-1, Escala de ten ae a owt | sa -ORQmi Sele |) Descaption Haga clic con el bot6n derecho en la seccién Seales y seleccione Create New en el menti contextual Seleccione NI-DAQmx Scale Haga clic en Next. Seleccione Linear. Llame a la escala TemperaturaHaga clic en Finish, Cambie el Parémetro de escalado Slope a 100 Bajo Units, introduzca Ce1sius en el campo Sealed. Haga clic en el bot6n Save en la barra de herramientas para guardar la escala, (1) Cierre MAX seleccionando File» Exit, LabVIEW Core 2 Manual de Ejercicios National Instruments | AS
You might also like
Winning Chess Tactics
PDF
87% (39)
Winning Chess Tactics
250 pages
LabVIEW Core 1 - Participant Guide
PDF
No ratings yet
LabVIEW Core 1 - Participant Guide
189 pages
AAL Exercise Manual
PDF
No ratings yet
AAL Exercise Manual
268 pages
The Labview Core 2 Course and Exercise Manuals PDF
PDF
0% (1)
The Labview Core 2 Course and Exercise Manuals PDF
3 pages
Labview Core 2 Summary
PDF
100% (1)
Labview Core 2 Summary
26 pages
Modeling, Simulation and Control of A Robotic Arm
PDF
No ratings yet
Modeling, Simulation and Control of A Robotic Arm
7 pages
Temperature Control Using Labview
PDF
No ratings yet
Temperature Control Using Labview
5 pages
Daqsc Coursemanual English
PDF
No ratings yet
Daqsc Coursemanual English
466 pages
Secrets of Openings
PDF
0% (1)
Secrets of Openings
148 pages
Labview Core2 Course Manual New PDF
PDF
No ratings yet
Labview Core2 Course Manual New PDF
135 pages
Lab View Core 1 Course Manual
PDF
No ratings yet
Lab View Core 1 Course Manual
162 pages
Lesson 1 - Setting Up Hardware PDF
PDF
100% (1)
Lesson 1 - Setting Up Hardware PDF
33 pages
Labview Core1 Exercises PDF
PDF
No ratings yet
Labview Core1 Exercises PDF
179 pages
Understanding LabVIEW Programming Patterns and Frameworks
PDF
No ratings yet
Understanding LabVIEW Programming Patterns and Frameworks
43 pages
LabVIEW Hacker
PDF
No ratings yet
LabVIEW Hacker
34 pages
Labview Core3 Exercises
PDF
No ratings yet
Labview Core3 Exercises
155 pages
Labview State Machine Architectures: Presented by Scott Sirrine Eaton Corporation
PDF
No ratings yet
Labview State Machine Architectures: Presented by Scott Sirrine Eaton Corporation
12 pages
Chen - Analog and Digital Control System Design Ocr PDF
PDF
100% (1)
Chen - Analog and Digital Control System Design Ocr PDF
609 pages
Labview - Digital Filter Design Toolkit Reference Manual
PDF
No ratings yet
Labview - Digital Filter Design Toolkit Reference Manual
59 pages
A Simulink Model To Improve Total Harmonic Distortion (THD) Using Shunt Active Power Filter
PDF
100% (1)
A Simulink Model To Improve Total Harmonic Distortion (THD) Using Shunt Active Power Filter
26 pages
Delta Ia-Plc RS-485 An en 20141103
PDF
No ratings yet
Delta Ia-Plc RS-485 An en 20141103
11 pages
Fuzzy Controller Based On PLC S7-1200: Application To A Servomotor
PDF
No ratings yet
Fuzzy Controller Based On PLC S7-1200: Application To A Servomotor
8 pages
Digital Control Lecture Notes
PDF
No ratings yet
Digital Control Lecture Notes
110 pages
Simulink Coder™ Release Notes
PDF
No ratings yet
Simulink Coder™ Release Notes
84 pages
LabVIEW Core 1 Exercises
PDF
0% (1)
LabVIEW Core 1 Exercises
43 pages
Diadem Basics
PDF
No ratings yet
Diadem Basics
434 pages
A Hardware-in-the-Loop SCADA Testbed
PDF
No ratings yet
A Hardware-in-the-Loop SCADA Testbed
6 pages
LabVIEW MathScript
PDF
No ratings yet
LabVIEW MathScript
57 pages
Digital Control System Analysis & Design
PDF
No ratings yet
Digital Control System Analysis & Design
5 pages
LabVIEW Signal Processing Course Manual PDF
PDF
No ratings yet
LabVIEW Signal Processing Course Manual PDF
432 pages
Comparison Between DSPACE and NI Systems Based On Real-Time Intelligent Control of A Teleoperated Hydraulic Servo System
PDF
No ratings yet
Comparison Between DSPACE and NI Systems Based On Real-Time Intelligent Control of A Teleoperated Hydraulic Servo System
76 pages
DELTA IA-PLC As Manual de Programacion
PDF
No ratings yet
DELTA IA-PLC As Manual de Programacion
1,332 pages
Class 2: Servomotors - Basics & Working: Ice 3015: Control System Components
PDF
No ratings yet
Class 2: Servomotors - Basics & Working: Ice 3015: Control System Components
19 pages
H1038 Programming For Engineers: Instructions
PDF
No ratings yet
H1038 Programming For Engineers: Instructions
3 pages
Micro Professor MPF 1 Experiment Manual
PDF
No ratings yet
Micro Professor MPF 1 Experiment Manual
152 pages
Advanced LabVIEW User Interfaces
PDF
No ratings yet
Advanced LabVIEW User Interfaces
51 pages
Basics Simulation Technology
PDF
No ratings yet
Basics Simulation Technology
26 pages
Digital Logic Design - Revision
PDF
No ratings yet
Digital Logic Design - Revision
676 pages
ECE2071 Lab 6 - PLCs
PDF
No ratings yet
ECE2071 Lab 6 - PLCs
6 pages
Chapter 1
PDF
No ratings yet
Chapter 1
48 pages
Demo Projects in "Getting Started of STEP 7 Basic V10.5 / V11"
PDF
No ratings yet
Demo Projects in "Getting Started of STEP 7 Basic V10.5 / V11"
2 pages
Software Defined Test Fundamentals Guide Preview
PDF
No ratings yet
Software Defined Test Fundamentals Guide Preview
12 pages
System Identification and Estimation in LabVIEW
PDF
100% (1)
System Identification and Estimation in LabVIEW
99 pages
VisiLogic - Getting - Started PDF
PDF
No ratings yet
VisiLogic - Getting - Started PDF
132 pages
PLC Programming-Courses - XLSX - Sheet1
PDF
No ratings yet
PLC Programming-Courses - XLSX - Sheet1
2 pages
Sequence Manager
PDF
No ratings yet
Sequence Manager
84 pages
Advance - S7-1200 - TIA - Portal - EN Training
PDF
100% (1)
Advance - S7-1200 - TIA - Portal - EN Training
1 page
Bond Graph Modeling For Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz
PDF
0% (1)
Bond Graph Modeling For Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz
18 pages
Microprocessor Based Digital PID Controller For Speed Control of D.C. Motor
PDF
100% (1)
Microprocessor Based Digital PID Controller For Speed Control of D.C. Motor
6 pages
CH-4 Signal Conditioning and Conversion1
PDF
No ratings yet
CH-4 Signal Conditioning and Conversion1
31 pages
Unit 5 SCADA
PDF
No ratings yet
Unit 5 SCADA
52 pages
Daq Exercises Sample
PDF
No ratings yet
Daq Exercises Sample
18 pages
LabVIEW Core 2
PDF
No ratings yet
LabVIEW Core 2
135 pages
LabVIEW Core 1 Course Manual
PDF
0% (1)
LabVIEW Core 1 Course Manual
243 pages
LabVIEW Core1 MANUAL DE CURSO PDF
PDF
75% (4)
LabVIEW Core1 MANUAL DE CURSO PDF
238 pages
Manual LabView Esp
PDF
No ratings yet
Manual LabView Esp
456 pages
Labview Core2 Course Manual New
PDF
100% (1)
Labview Core2 Course Manual New
135 pages
Labview Core 2 Exercises: Instruments Not For Distribution
PDF
No ratings yet
Labview Core 2 Exercises: Instruments Not For Distribution
102 pages
Core 1 English Excercise Manual
PDF
No ratings yet
Core 1 English Excercise Manual
198 pages
Labview Core 2 Course Manual: Sample
PDF
No ratings yet
Labview Core 2 Course Manual: Sample
18 pages
Labview Core 2 Course Manual: Instruments Not For Distribution
PDF
No ratings yet
Labview Core 2 Course Manual: Instruments Not For Distribution
134 pages
LabVIEW TM Core 2 Course Manual-1-10
PDF
No ratings yet
LabVIEW TM Core 2 Course Manual-1-10
10 pages
Optimal Design of Charging Stations For Electrified Transit Networks
PDF
No ratings yet
Optimal Design of Charging Stations For Electrified Transit Networks
7 pages
Greek Long-Term Energy Consumption Prediction Using Artificial Neural Networks
PDF
No ratings yet
Greek Long-Term Energy Consumption Prediction Using Artificial Neural Networks
7 pages
Kill K.I.D. v. 1 PDF
PDF
100% (1)
Kill K.I.D. v. 1 PDF
142 pages
App Brewery Cornell Notes Template
PDF
No ratings yet
App Brewery Cornell Notes Template
2 pages
Chess
PDF
100% (3)
Chess
25 pages
Kasparov
PDF
No ratings yet
Kasparov
30 pages
Inside Chess - Vol.3, No.3 (19-Feb-1990) PDF
PDF
No ratings yet
Inside Chess - Vol.3, No.3 (19-Feb-1990) PDF
27 pages
Hearst E., Knott J. - Blindfold Chess (2009)
PDF
100% (12)
Hearst E., Knott J. - Blindfold Chess (2009)
446 pages
Adorjan, Andras - Black Is OK Forever PDF
PDF
100% (6)
Adorjan, Andras - Black Is OK Forever PDF
194 pages