Sunteți pe pagina 1din 279

Instrumentation Virtual

UTEQ Ing. Juan Carlos Prez Lujn

Objetivo
El alumno desarrollar instrumentos virtuales a travs de software de instrumentacin virtual y lenguajes de programacin de alto nivel en aplicaciones de adquisicin de datos para monitorear y controlar las variables del proceso.
Ing. Juan Carlos Prez Lujn

Polticas de clase
Tolerancia para entrar al aula o laboratorio: 10 min, despus de ese tiempo el alumno no tendr derecho a entrar a la clase. Entregar el 70% de las prcticas para tener derecho al examen Remedial en la ltima semana de clases, en caso contrario, el alumno deber presentar el examen extraordinario correspondiente a (los) periodo(s) que reprob. Lmite de faltas por perodo de evaluacin: 3, con ms de tres faltas en un perodo de evaluacin, el alumno NO ACREDITAR dicho perodo y lo deber presentar en extraordinario.

Reportes
- Tener buena presentacin - Entregarse puntualmente - Contener la siguiente informacin: a) Nmero de equipo y nombre de integrantes b) Objetivo c) Justificacin d) Alcance e) Marco terico y/o estado del arte f) Material y/o equipo utilizado g) Desarrollo h) Resultados y conclusiones
Ing. Juan Carlos Prez Lujn

Prcticas y Ejercicios
Debe cumplir con un 80% de los requisitos solicitados como mnimo. Debe tener una buena presentacin. Debe de estar ordenados los controles e indicadores. Entregarse puntualmente. Se revisara el historial de la misma. Si el historial corresponde a otro alumno se anulara la prctica o ejercicio. El profesor asignara un numero de entregado y fecha. Al final del cuatrimestre se entregara un disco con las prcticas del cuatrimestre. Las prcticas se debern subir al sitio de la carrera.
Ing. Juan Carlos Prez Lujn

Clave para el sitio

EA51V
Ing. Juan Carlos Prez Lujn

Laboratorio
Orden Limpieza Acomodo de equipos, accesorios, mobiliario. No jugar Revisar el equipo al inicio de la prctica No alimentos
Ing. Juan Carlos Prez Lujn

Criterios de evaluacin
Se vern durante el curso tres unidades con las siguientes ponderaciones. Instrumentos virtuales - 35% Adquisicin de datos - 45% Control de instrumentos - 20% Sern sujetos de evaluacin los ejercicios y prcticas realizados durante el curso. Las prcticas de la asignatura estarn orientadas a cumplir algunas necesidades concretas de los proyectos de la asignatura Integradora II. Durante la tercera unidad se har un examen de sondeo compuesto por reactivos terico-prcticos. Este examen ser individual. La calificacin de todos los trabajos, prcticas y exmenes se har en correspondencia con el modelo de competencias profesionales. De 80 a 89 -SA De 90 a 94 - DE De 95 a 100 AU

Unidades

Instrumentos Virtuales Adquisicin de datos Control de instrumentos de medicin


Ing. Juan Carlos Prez Lujn

Instrumentos Virtuales El alumno elaborar programas de computadora que simulen las funciones de un instrumentos para la automatizacin de procesos de medicin

Ing. Juan Carlos Prez Lujn

Instrumentos

Fsico

Ing. Juan Carlos Prez Lujn

Virtual

Instrumentos virtuales
Las aplicaciones en LabView son llamados Instrumentos Virtuales (Vis), ya que su apariencia y operacin imita a los instrumentos fsicos, tales como osciloscopios, termmetros, barmetros, multmetros. Se cuentan con herramientas para adquirir, analizar, desplegar y almacenar datos.

Ing. Juan Carlos Prez Lujn

Ing. Juan Carlos Prez Lujn

Inicio de LabView

Ing. Juan Carlos Prez Lujn

Seleccionar el VI en blanco

Ing. Juan Carlos Prez Lujn

Inicio

Ing. Juan Carlos Prez Lujn

Control + T
Acomoda las pantallas de panel y bloques a lo largo y ancho de pantalla

Ing. Juan Carlos Prez Lujn

Botn derecho del mouse


Haciendo clic con el botn derecho de mouse sobre las pantallas frontal y de boques aparecer la barra de herramientas de cada una de ellas.

Ing. Juan Carlos Prez Lujn

Tarea Individual
Uno: Investigar los accesos rpidos del labview Ejemplo Control+T, shift+derecho Dos: protocolo RS232

Ing. Juan Carlos Prez Lujn

Panel frontal
Es la interfaz de usuario para el VI. El usuario construye el panel frontal con controles e indicadores, los cuales son las terminales interactivas de entrada y salida del VI.

Ing. Juan Carlos Prez Lujn

Componentes de Panel Frontal

Ing. Juan Carlos Prez Lujn

Diagrama de bloques
Despus de que se construye el panel frontal, usted adiciona cdigo agregando representaciones grficas de funciones para controlar los objetos del panel frontal.

Ing. Juan Carlos Prez Lujn

Componentes del Diagrama de Bloques

Ing. Juan Carlos Prez Lujn

Diagrama a bloques Cdigo fuente


Terminales.
Entrada y salida de puertos que intercambian informacin entre el panel frontal y el diagrama a bloques

Nodos
Entradas y/o salidas y ejecucin de operaciones cuando un VI corre.

Cables
Transferencia de datos entre los componentes del diagrama de bloques
Ing. Juan Carlos Prez Lujn

Borrar lneas rotas


En ocasiones las lneas de conexin son removidas o borradas por el usuario y las conexiones se pierden, por lo que es muy til usar control + B para eliminar estas conexiones rotas.

Ing. Juan Carlos Prez Lujn

Otros componentes

Ing. Juan Carlos Prez Lujn

Controles

Ing. Juan Carlos Prez Lujn

Shift + derecho mouse en cualquier pantalla frontal o bloques

Ing. Juan Carlos Prez Lujn

Barra de herramientas

Ing. Juan Carlos Prez Lujn

Ejercicio 1 pagina 1/4

Abra un nuevo VI

Use ctrl+T para acomodar las pantallas

Botn derecho en el panel frontal para la barra de controles

Seleccione el icono de botones y escoja uno

Arrstrelo a la parte superior del panel frontal

Sobre el usando el botn derecho abrimos la caja de dialogo de propiedades

Ing. Juan Carlos Prez Lujn

Ejercicio 1 pagina 2/4

En la pestaa de apariencia cambie el nombre por Boton1

Abra de nuevo la barra de controles y seleccione un led

En el diagrama de bloques aparecern lo siguiente

Estos bloques no estn conectados solo indican el tipo de dato Booleano

Desde el diagrama de bloque conect los dos elementos colocando el puntero sobre uno de los tringulos blancos y arrastre Ing. Juan Carlos Prez Lujn

Ejecute el programa usando el botn de run, observe los cambios del led

Ejercicio 1 pagina 3/4

Despus del cambio de estado del interruptor se enciende el led

En el panel frontal, usamos el botn derecho y en controles buscamos modern y el icono de decoraciones

Seleccionemos alguna decoracin y la arrastramos sobre el botn y el led en el panel frontal

Se puede modificar el tamao y la posicin de la decoracin

Desde la barra de herramientas seleccione el icono de reordenamiento para mover a la parte de atrs a la decoracin Ing. Juan Carlos Prez Lujn

Enseguida de hacer esta operacin tanto el botn como el led quedan puestos dentro de la decoracin

Ejercicio 1 pagina 4/4

Cambiemos el color de la decoracin usando shitf + derecho y seleccionemos el pincel

Sobre la decoracin y usando el botn derecho obtenemos la paleta de colores

Al desplazarnos por la escala de colores en forma automtica cambia el color la decoracin

e82
Ing. Juan Carlos Prez Lujn

Ejercicio 2 pagina 1/1

Ejercicio Elabore el siguiente VI

e79
Ing. Juan Carlos Prez Lujn

E82

Operaciones booleanas Estas operaciones aparecern en color verde y solo pueden tomar dos valores, verdadero y falso
El color indica el tipo de dato Indica si es un control o indicador Indicador

Control
Ing. Juan Carlos Prez Lujn

Tipos ms comunes de datos.

Ejercicio 3

Elaborar este programa

Ing. Juan Carlos Prez Lujn

Localizar los indicadores o controles


Cuando en el Vi se tiene muchos indicadores y controles se hacen confusos su localizacin. Para localizar el block, del indicador o control que se necesite solo se hace doble clic sobre este y el block resaltara, o viceversa.

Ing. Juan Carlos Prez Lujn

Ejercicio 3 pagina 1/3

Abrimos un nuevo VI

En el panel frontal abrimos la paleta de controles y seleccionamos controles numricos

Seleccionamos el control numrico y manteniendo ctrl arrastre para copiar el elemento

Ya teniendo los dos controles de numero en el panel frontal pase al diagrama de bloques

Haga clic derecho sobre cualquier block de control numrico y seleccione la opcin de crear indicador
Ing. Juan Carlos Prez Lujn

Realice lo mismo para los dos controles, observe que se conectan en forma automtica

Ejercicio 3 pagina 2/3

Modifique los controles e indicadores como se muestra en la imagen

En la pantalla de bloques localice las funciones matemticas utilizando el botn derecho del mouse

Arrastre las funciones de suma y resta en la pantalla de bloques

Conecte los indicadores y controles como se muestra en la figura


E71 E72 E74 E75

En el panel frontal introduzca valores en los controles y simule


Ing. Juan Carlos Prez Lujn

Coloque decoraciones y cambie colores, agrupe.

Ejercicio 3 pagina 3/3

Agregue indicadores para otras dos operaciones

Agregue funciones de *y/

Cambie las leyendas de los indicadores

E79
E71 E72 E74 E75

E82

Ing. Juan Carlos Prez Lujn

Funciones
Las funciones se encuentran en la pantalla de bloques de diagrama. Usando ctrl + h se obtiene la ayuda de los componentes seleccionado. Con el men secundario podemos ver las terminales de las funciones.

Ing. Juan Carlos Prez Lujn

Opciones de Ayuda

Ing. Juan Carlos Prez Lujn

Simulacin
Se puede simular el Vi en pasos, con el fin de ver la transicin de los datos en el diagrama de bloques. El diagrama de bloque se ejecuta dependiendo del flujo de los datos; el diagrama de bloques NO se ejecuta de izquierda a derecha. El Nodo se ejecuta cuando los datos estn disponibles para TODAS las terminales de entrada. Los nodos suministran datos a todas las terminales de salida cuando termina.

Ing. Juan Carlos Prez Lujn

Constantes
Son valores fijos tanto numricos, flotantes, bolanos de indicadores o controles que se utilicen para acondicionar seales de entrada o salida de los VI

Ing. Juan Carlos Prez Lujn

Ejercicio 4 Conversor de unidades


Realice una VI que cuente con las siguientes caractersticas Convertir mm a in y in a mm Convertir in a ft y m a mm Convertir C a F Convertir F a C Convertir C a K Convertir m2/s a ft2/s Convertir PSI a Bars Convertir m3 a lts Convertir N a Lbf Convertir Lbf a N Por cada punto debe de tener controles e indicador numricos. Los controles e indicadores se deben etiquetar dependiendo la magnitud que le corresponda. Deben agruparse en grupos de la misma magnitud. Deben de contar con decoraciones diferentes. Deben de tener diferentes colores. Usen constantes
Ing. Juan Carlos Prez Lujn

Funcin de Formula
Es un Vi express que permite contar con una calculadora programable, interna en el VI. Se puede programar con formulas, para reducir el tamao de los bloques utilizados para una aplicacin. Es configurable y puede manejar hasta ocho variables
Ing. Juan Carlos Prez Lujn

Ejercicio 5
Los mismos conceptos del ejercicio 4, pero solo usando la funcin de formula

Ing. Juan Carlos Prez Lujn

Conectar Bloques

Ing. Juan Carlos Prez Lujn

Limpieza del Diagrama


Cuando generamos los controles, indicadores, funciones, SubVis, Vis expres, etc y se conectan entre ellos, se vuelve puede perderse muy fcilmente entre estos. Para el acomodo del diagrama existe una herramienta Clean Up Diagram

Ing. Juan Carlos Prez Lujn

Espacio Se puede ahorrar espacio en el diagrama de bloques deshabilitando Mostrar como un icono.

Ing. Juan Carlos Prez Lujn

Tcnicas para eliminar errores


Encontrando los errores.
Haga clic en el botn de corre que esta roto. Aparece una ventana mostrando los errores.

Ing. Juan Carlos Prez Lujn

Tcnicas para eliminar errores


Resaltar la ejecucin.
Haga clic en el botn de ejecucin resaltada, el flujo de datos es animado utilizando burbujas. Los valores se despliegan en los cables.

Herramienta de prueba.
Haga clic con el botn derecho sobre el cable para exhibir la ventana de prueba y as mostrar los datos mientras fluyen por el segmento de cable. Tambin puede seleccionar la herramienta de prueba desde la paleta de herramientas y hacer un clic en el cable.
Ing. Juan Carlos Prez Lujn

Punta de prueba

Ing. Juan Carlos Prez Lujn

Cadenas
Son datos de texto.

Ing. Juan Carlos Prez Lujn

Diagrama del Ejercicio 6

e82
Ing. Juan Carlos Prez Lujn

e79

Ejercicio 7

Ing. Juan Carlos Prez Lujn

Uso de cluster

Ejercicio 8

Realizar un Vi que convierta segundos a, horas, minutos y segundos

Ing. Juan Carlos Prez Lujn

Funcin de espera WAIT


Espera el procesamiento de informacin un numero especifico de milisegundos y despus devuelve el valor
Multiplicador de milisegundos, constante o control Sali da de cont ador

Ing. Juan Carlos Prez Lujn

Sincronizador Wait Until


Tambin es un reloj de espera en milisegundos. Su uso es sincronizar actividades. Se llama esta funcin en un lazo (loop), es posible que la primera interaccin sea corto.

Escribir en un archivo de texto


Es muy importante crear reportes de la informacin que se tiene de los controles de monitoreo de un proceso. Es necesario crear archivos que se puedan manipular

Ing. Juan Carlos Prez Lujn

Ejercicio 9

Ing. Juan Carlos Prez Lujn

Ejercicio 9
Crear un control de temperatura con cuatro estaciones de monitoreo. Las cuatro dan la informacin en forma automtica y variable. Deben de desplegar alarma cuando sea igual o mayor de los siguientes valores, T1=45C, T2=55C, T3=58C y T4=60C. Deben de tener cada uno un led indicador que se encienda cuando este la alarma. La toma de datos debe ser cada 2 segundos Debe de contener cada alarma dos mensajes, Alarma# y Todo en orden#. Por cada termmetro. Debe desplegarse la etiqueta cuando exista una alarma o cuando este en orden. El VI debe escribir la informacin de todos los termmetros en un archivo de texto. Se debe mostrar el estado del termmetro. Se debe obtener el promedio de los cuatro instrumentos. Los termmetros deben marcar de 0 a 70C El archivo de texto debe tener la fecha y hora. Las temperaturas deben variar entre 50 a 60 grados, Excepto el primero de 40 a 50. Se debe guardar en el archivo de texto la fecha y hora, el estado de las alarmas, el promedio y la temperatura de cada termmetro.
Ing. Juan Carlos Prez Lujn

Ing. Juan Carlos Prez Lujn

SubVis

Ing. Juan Carlos Prez Lujn

SubVIs
Un SubVI es un VI que puede ser utilizado dentro de otro VI. Es muy similar a un subrutina. Ventajas
Modular, se pueden conectar varios Fcil para eliminar errores No se tiene que crear cdigos Requieren menos memoria.

Ing. Juan Carlos Prez Lujn

Panel Conector
Se puede usar un Vi como un subVi. Un subVi es un Vi que se usa dentro de otro Vi. Para usar un Vi como un subVi, este debe poseer un icono y un panel conector.

Ing. Juan Carlos Prez Lujn

Icono y Conector
Un icono representa un VI en otro diagrama de bloque. El conector muestra las terminales disponibles para transferir datos.

Ing. Juan Carlos Prez Lujn

Pasos para Crear un SubVI

Crear el icono. Crear el conector. Asignar las terminales. Salvar el VI. Insertar el VI dentro del VI principal.
Ing. Juan Carlos Prez Lujn

Crear el icono
Haga clic derecho sobre el icono en el diagrama de bloque o panel frontal. Y seleccione la opcin de Edicin de icono.

Ing. Juan Carlos Prez Lujn

Definicin de terminales
En el panel frontal da un click derecho sobre el icono y aparecer un men. Seleccione la opcin de mostrar terminales. Seleccione una terminal en blanco y despus un control o indicador. Repita el paso anterior para cada control o indicador del programa. Cuando termine cada control e indicador, cambie de nuevo a icono. Salve el VI.

Inserte un Subvi dentro de un VI


Abra un nuevo VI y desde la pantalla de bloques seleccione
SELECT A VI

Localice el VI que acaba de crear y aparecer como un icono en la pantalla de bloques.

Atajos
Ctrl + H activa/desactiva la ventana de ayuda Ctrl + B remueve todos los cables rotos del diagrama de bloques. Ctrl + T acomoda las pantallas frontal y bloques en el monitor. Ctrl + E cambia entre el panel frontal y el de bloques. Ctrl + Z deshacer cambios.
Ing. Juan Carlos Prez Lujn

Ejercicio 10
Crear utilizar el ejercicio nueve como subvi y conectarlo en un nuevo VI con un conversor de temperatura. Realizar un conversor de unidades de C a F y hacerlo SubVi

Ing. Juan Carlos Prez Lujn

Sentencias de Control

Ing. Juan Carlos Prez Lujn

Ciclo While Loop


Similar a un ciclo Do o a un Reapeat-Until en los lenguajes de programacin basados en texto, un While Loop, ejecuta una subdiagrama hasta que la condicin ocurre. La siguientes ilustracin muestra un While Loop en LV, un diagrama de flujo equivalente a la funcionalidad de While Loop y un ejemplo de pseudocdigo de la funcionalidad del While Loop.

Ing. Juan Carlos Prez Lujn

While

Ing. Juan Carlos Prez Lujn

.While
El While Loop est localizado en la paleta de Structures en el diagrama de bloques. Seleccione While Loop desde la paleta y use el cursor para arrastrar un rectngulo de seleccin alrededor de la seleccin del diagrama de bloques que desea que se repita.
Ing. Juan Carlos Prez Lujn

While Loop

Ing. Juan Carlos Prez Lujn

While
El While Loop siempre se ejecuta al menos una vez. El While Loop ejecuta el sub diagrama hasta que la terminal de condicin, una terminal de entrada, reciba un valor Booleano especifico. El comportamiento y apariencia por defecto de la termina es STOP IF TRUE

Ing. Juan Carlos Prez Lujn

While
Cuando un terminal condicional es Continue if True, el While Loop ejecuta su subdiagrama hasta que la terminal condicional reciba un valor FALSE

Ing. Juan Carlos Prez Lujn

..While

La terminal de iteracin ( una terminal de salida), contiene el nmero de iteraciones realizadas

Ing. Juan Carlos Prez Lujn

Ejemplo de While

Ing. Juan Carlos Prez Lujn

.While
La cuenta de iteracin siempre inicia en cero. Durante la primera iteraccin la terminal de iteracin entrega un 0. En el siguiente diagrama de bloques, el While Loop se ejecuta hasta que la salida del subVi sea mayor o igual a 10 y el control Enable sea True. La Funcin And regresa True solo si ambas entradas son True. De lo contrario, retorna False.

Ing. Juan Carlos Prez Lujn

Tneles de estructura
Los tneles alimentan datos hacia dentro y hacia fuera de las estructuras. Los tneles aparecen como un bloque slido en el borde del While Loop. El bloque es del color del tipo del dato cableado al tnel. Los datos pasan fuera del ciclo luego que este termina.

Ing. Juan Carlos Prez Lujn

Tnel de estructura
Cuando un tnel pasa datos dentro de un ciclo, el ciclo se ejecuta solo luego que el dato llega al tnel. En el siguiente diagrama de bloques, la terminal de iteracin est conectada al tnel. El valor en el tnel no ingresara al indicador Iterations hasta que el ciclo While Loop termina su ejecucin.
Ing. Juan Carlos Prez Lujn

Tnel

Ing. Juan Carlos Prez Lujn

Ejercicio 11
Construir un VI que genere continuamente nmeros aleatorios entre 0 y 1000 hasta que genere un nmero que coincida con un nmero seleccionado por el usuario. Determine cuantos nmeros aleatorios gener el VI antes de encontrar el nmero.

Ing. Juan Carlos Prez Lujn

Ejercicio 12
A todos los ejercicios anteriores agrgueles un While Loop, para que solamente terminen su ejecucin con el botn stop. Nota; tenga cuidado al borrar esta estructura debido que tambin lo que este dentro de esta se borrara.

Ing. Juan Carlos Prez Lujn

Case Estructura
Es una estructura secuencial donde pueden colocarse varias acciones del mismo proceso. Se localiza en la subpaleta de estructura. Encerramos los nodos o arrastrarnos dentro de la estructura para que sean afectado en esta seccin. Se utiliza como si usramos cartas para acomodar acciones. Solo es un caso a la vez de ejecucin.
Ing. Juan Carlos Prez Lujn

Selector de Case
Son muchos los tipos de controles que pueden seleccionar el Case que utilicemos. Booleano Cadena Numrico Realizar un VI con ejemplos de los tipos de control.

Ing. Juan Carlos Prez Lujn

Ejercicio 13
Construir un VI que con interruptor habilite y deshabilite 4 interruptores que controlan 4 salidas. Adems que muestre el estado de los interruptores. Solo se pueden encender los leds con los botones. Solo funcionan los botones con el interruptor de habilitado. Debe contar con:
Los botones deben tener, temperatura, humedad y nivel 4 leds. 4 botones con indicador. 1 interruptor de 2 posiciones. 1 botn de paro. Un indicador de texto. Decoraciones
Ing. Juan Carlos Prez Lujn

presin,

Ejercicio 14
Realizar un modulo con cuatro operaciones suma, resta, multiplicacin, divisin. Con un selector de 4 posiciones se debe seleccionar la operacin deseada. Se debe mostrar el tipo de operacin en la caratula de la aplicacin. Debe contar con un botn de paro. Un selector de operacin. Un indicador del resultado. Dos casillas para la captura de los nmeros.

31-0112 E79

Ing. Juan Carlos Prez Lujn

Ejercicio 15
Realizar el ejercicio 4 usando While y Case. Debe tener un men para seleccionar el tipo de operacin que se este realizando Una casilla que nos indique el tipo de operacin que estemos realizando. Solo se puede realizar una operacin a la vez. Debe de contar con un botn de paro. Decore y combine colores. Deber de contar con 10 operaciones matemticas. Deber de contar con 10 operaciones de comparacin

Ing. Juan Carlos Prez Lujn

Examen
Realizar un VI con las siguientes caractersticas
Contar con una clave de acceso codificada que de acceso a todas las funciones del VI. Al digitalizar la clave debe mostrar cualquiera de estas dos leyendas acceso correcto acceso incorrecto, segn sea el caso. Acceso correcto. Debe activar un modulo de calculo del RFC de cualquier persona sin la homoclave, tomando en cuenta las 2 primeras letras del apellido paterno, la primera del apellido materno, la primera letra del primer nombre, los 2 ltimos dgitos del ao de nacimiento, los 2 dgitos del mes y los 2 dgitos del da de nacimiento, todo en maysculas. El modulo de RFC debe contar con un botn selector para dar inicio al calculo del mismo Debe mostrar en la casilla del RFC lo siguiente segn sea el caso RFC o la leyenda No calculado Debe activar con un modulo de calculadora, con las siguientes operaciones suma resta, multiplicacin y divisin, este debe ser un subVi El modulo de suma debe tener 2 casillas para la captura de datos, una casilla donde muestre el resultado, una casilla que muestre error en alguna operacin y un selector para seleccionar las operaciones. Debe guardar la informacin de todos los mdulos, RFC, operacin, resultado, etc Acceso Incorrecto Debe tener un led indicador marcado con la leyenda error. El indicador debe estar parpadeando en color rojo cuando la clave sea incorrecta ha intervalos de medio segundo. Debe se guardado como E-Apellido paterno-Apellido materno-Nombres-grupo. Debe tener decoraciones. Debe tener una presentacin esttica. Debe de tener por lo menos tres colores diferentes en su presentacin. Debe ser amigable para el usuario. No debe perderse en texto.

Ing. Juan Carlos Prez Lujn

E x a m e n 2

Realizar un VI con las siguientes caractersticas


Contar con tres claves de acceso codificada que de acceso a todas las funciones del VI deben estar codificadas. Al digitalizar la clave debe mostrar cualquiera de estas dos leyendas acceso correcto acceso incorrecto, segn sea el caso. Las claves deben tener diferentes niveles Nivel uno. Debe activar un modulo de calculo del RFC de cualquier persona sin la homoclave, tomando en cuenta las 2 primeras letras del apellido paterno, la primera del apellido materno, la primera letra del primer nombre, los 2 ltimos dgitos del ao de nacimiento, los 2 dgitos del mes y los 2 dgitos del da de nacimiento, todo en maysculas. El modulo de RFC debe contar con un botn selector para dar inicio al calculo del mismo Debe mostrar en la casilla del RFC lo siguiente segn sea el caso RFC o la leyenda No calculado El modulo de suma debe tener 2 casillas para la captura de datos, una casilla donde muestre el resultado, una casilla que muestre error en alguna operacin y un selector para seleccionar las operaciones. Debe guardar la informacin de todos los mdulos, RFC, operacin, resultado, etc Nivel dos Acceso al modulo de calculo de RFC y Acceso a una calculadora con las operaciones de (suma, resta, multiplicacin, divisin, raz, cuadrado y conversor de segundos a horas,-minutos-segundos) Nivel tres Acceso al modulo de calculo de RFC y Acceso a una calculadora con las operaciones de (suma, resta, multiplicacin, divisin, raz, cuadrado y conversor de segundos a horas,-minutos-segundos) Acceso a un modulo con tres termmetros que varen sus temperaturas de en forma independiente en un intervalo de -100 a 100 C, con dos alarmas cada uno baja a -80 y alta a 75 con un indicador luminoso para cada caso, la razn de cambio de temperatura es de 5 segundos cada sensor. Acceso Incorrecto Debe tener un led indicador marcado con la leyenda error. El indicador debe estar parpadeando en color rojo cuando la clave sea incorrecta ha intervalos de medio segundo. Debe se guardado como E-Apellido paterno-Apellido materno-Nombres-grupo. Debe tener decoraciones. Debe tener una presentacin esttica. Debe de tener por lo menos tres colores diferentes en su presentacin. Debe ser amigable para el usuario. El RFC, nombres, apellidos y fecha de nacimiento deben de escribirse en un archivo de texto. Las temperaturas deben de capturarse con fecha y hora cada 30 segundos en un archivo de texto. No debe perderse en texto.

Ing. Juan Carlos Prez Lujn

Examen

E71 28-01-11 Ing. Juan Carlos Prez Lujn

E72 28-01-11

E74 28-01-11

E75 27-01-11

Variables locales

Una variable local, es un nodo con la informacin de un indicador que se puede usar para cambiar el estado o tomar la informacin de este.

Ing. Juan Carlos Prez Lujn

Cambio de estado
Este cdigo es un ejemplo como se puede hacer el cambio de estado a otro de un elemento utilizado un conteo ciclado.

Ing. Juan Carlos Prez Lujn

Estructura de Secuencia En la subpaleta de control de ejecucin. Ejecuta diagramas secuencialmente. Puede agregar tantas secuencias se necesite

Ing. Juan Carlos Prez Lujn

Estructura de secuencia
Es como ver fotografas en secuencia, una detrs de la otra, lo limita el tiempo de espera que le establecemos. Al igual que Case se le puede agregar Frame, para aumentar el numero de secuencias. Y se puede acomodar como el Case como si fuera una baraja Pero a diferencia esta condicionado al cambio de frame no por un condicin externa si no por la terminacin de su proceso interno.
Ing. Juan Carlos Prez Lujn

Condiciones
Al igual que el Case, el frame necesita forzosamente para funcionar un ciclo While

Ing. Juan Carlos Prez Lujn

Ejemplo Semforo simple


Consideremos un semforo, son acciones secuenciales dependientes del tiempo. Estado uno.
La luz roja esta encendida por un lapso de tiempo. Las luces amarrilla y verde se encuentran apagadas.

Estado dos.
Al termino del tiempo de la luz roja se enciende la luz verde por un tiempo determinado. Las luz roja se apaga al mismo tiempo. La luz amarrilla queda apagada.

Estado tres.
Termina el tiempo de encendido de la luz verde. Sigue apagada la luz roja. Enciende la luz amarrilla por un lapso de tiempo determinado.

Se retorna al estado uno.


Ing. Juan Carlos Prez Lujn

Diagrama
Estado 1 Roja=1
Amarrillo=0 Verde=0

Estado 3 Roja=0 Amarrillo=1 Verde=0

T2=y

Estado 2 Roja=0 Amarrillo=0 Verde=1

Ing. Juan Carlos Prez Lujn

Semforo
Tenemos aqu la imagen del panel frontal del instrumento virtual. Simplemente son tres indicadores que modificamos su colores tanto en el estado on y off. Lo importante es cambiar el estado del indicador. Por lo tanto tenemos que usar variables locales para modificar su ultimo estado de la variable seleccionada.
Ing. Juan Carlos Prez Lujn

Diagrama del semforo

Ing. Juan Carlos Prez Lujn

Ejercicios 16, 17 y 18

Tarea hacer los diagramas de estado para los ejercicios 16,17 y 18


Ing. Juan Carlos Prez Lujn

E71 01-02-11

E72 31-01-11

E74

E75 31-01-11

Ejercicio 16
Utilizando 8 indicadores realizar Vi con:
Corrimiento a la izquierda a derecha Con un desplazamiento de segundo por indicador. Debe de contar con un botn de paro. Es continuo. Realice este ejercicio usando Case y secuencia
E71 Ing. Juan Carlos Prez Lujn 01-02-11 E72 31-01-11 E74 01-02-11 E75 31-01-11

Ejercicio 17
Utilizando 8 indicadores realizar tres Vi con:
Corrimiento a la derecha a izquierda Con un desplazamiento de segundo por indicador. Debe de contar con un botn de paro. Es continuo. Realice este ejercicio usando Case y secuencia

E71 02-02-11
Ing. Juan Carlos Prez Lujn

E72 02-02-11

E74 03-02-11

E75 01-02-11

Ejercicio 18
Utilizando 8 indicadores realizar Vi con:
Corrimiento ambos lados Con un desplazamiento de segundo por indicador. Debe de contar con un botn de paro. Es continuo. Realice este ejercicio usando Case y secuencia
E71 02-03-11
Ing. Juan Carlos Prez Lujn

E72 02-03-11

E74 03-02-11

E75 01-02-11

Ejercicio 19
Parte A agregar dos estados mas al semforo que hicimos en clase.
Parpadeo de la luz verde. Parpadeo de la luz amarrilla. Frecuencia de parpadeo 0.5 segundo Elaborar el diagrama de estados Solo cinco etapas ( no mas de 5 case o 5 frame principales). Se debe realizar un Vi con 19case y otro con 19frame.

Elaborar el diagrama de estados.


Luz verde encendida 1.5 min con 0.5 min de parpadeo Luz roja encendida 1.5 min Luz amarrilla encenda 1min con 0.5 min de parpadeo
Ing. Juan Carlos Prez Lujn

E71

E72

E74

E75

LabJack, Sistema de adquisicin de datos.


La tarjeta U12 de LabJack es un perifrico de medicin y automatizacin que permite la conexin de un PC con el mundo real. Aunque la U12 LabJack tiene muchos mecanismos de proteccin redundantes, es posible, en el caso de uso inadecuado y / o no razonable, para daar la LabJack e incluso el PC al Ing. Juan Carlos Prez Lujn que est conectado.

Hardware
Las conexiones externas son:
USB DB25 digital I/O (D lneas) Status LED 30 terminales tipo clema.

La conexin USB proporciona alimentacin y comunicacin. Ninguna fuente de alimentacin externa es necesaria. Los 5 voltios estn disponibles en varios lugares son salidas. No conecte una fuente de alimentacin.

Ing. Juan Carlos Prez Lujn

Terminales Analgicas U12


Su nomenclatura AI0 - AI7 Cuenta con 8 terminales de tornillo para seales de entrada analgica. Estos se pueden configurar de forma individual y sobre la marchahasta 8 canales de una sola terminal, 4 canales diferenciales, o combinaciones entre ellos. Cada entrada tiene una resolucin de 12 bits y una diagonal de la entrada actual de 90 mA o de una sola terminacin: El intervalo de entrada para una sola medida de composicin es de 10 voltios. O canales diferenciales pueden hacer uso de la PGA para proporcionar ganancias de hasta 20, dando una resolucin efectiva de ms de 16-bits.
Ing. Juan Carlos Prez Lujn

Terminales Analgicas U12


En modo diferencial, la tensin de cada AI con respecto a la tierra debe estar entre 10 voltios, pero el rango de diferencia de voltaje entre el AI 2 es una funcin de la ganancia (G) de la siguiente manera: G=120voltios G=210voltios G=45voltios G=54voltios G=82.5voltios G=102voltios G=161.25voltios G = 20 1 voltio
Ing. Juan Carlos Prez Lujn

EDI Easy Digital Input


Realizar el siguiente diagrama de bloques. Contiene un Until Wiat que sincronizara la ejecuccin. EDI declara la utilizacin de una entrada digital. Easy Digital Input. Led para visualizar el estado de la entrada. Constantes para declarar la salida y el estado. Se usa un ciclo While para repetir el proceso.

Ing. Juan Carlos Prez Lujn

Desarrollo
Tome un pedazo de cable y conecte uno de sus extremos a la clema 5V, dejando el otro extremo libre. Ejecute el programa que acaba de hacer. Observe en la ventana de Panel frontal que el indicador esta apagado, es decir est registrando un cero lgico en la entrada IO0. Introduzca el extremo libre del cable en una de las clemas IO0 en la interfaz. Observe que el LED se enciende, mostrando as que se est registrando un uno lgico en la entrada IO0. Detenga la corrida del programa.
Ing. Juan Carlos Prez Lujn

Desarrollo
Cambie en el cdigo del programa el nmero del canal de entrada, por ejemplo, puede seleccionar IO3. Ejecute el programa nuevamente. Cambie el cable de la entrada de IO0 y conctelo a la entrada IO3. Observe en el panel frontal que el LED indica el estado del mismo. Desconecte el cable.

Ing. Juan Carlos Prez Lujn

EDO Easy Digital Output


Realicemos este nuevo VI

Ing. Juan Carlos Prez Lujn

Desarrollo
Ejecute el programa que acaba realizar. Con el multimetro mida la tensin entre las clemas GND y IO0, debe estar en 0.0V o muy cercano, correspondiente a un cero lgico. Cambie el estado del interruptor. Mida nuevamente con el multimetro la tensin entre las clemas GND y IO0, est debe ser 5V o yn valor muy cercano a ste, correspondiente a un uno lgico. Detenga el programa. Ahora conecte un LED de cualquier color a las terminales IO0 y GND. Ejecute el programa y cambie el estado del interruptor. Detenga el programa.

Ing. Juan Carlos Prez Lujn

Ejercicio 20
Usando el ejercicio 19 cree un nuevo VI. Implemente el sub necesarios para que sea funcional en la tarjeta labjack. Material necesario.
Multmetro. Pinzas de punta. Cable calibre 22. Labjack Resistencias de 330 ohm (3). Leds rojo, amarrillo verde uno de cada uno Utileras de Labjack cargadas en PC.

Ing. Juan Carlos Prez Lujn

E71 08-02-11

E72 09-02-11

E74 08-02-11

E75 08-02-11

Ejercicio 21
Parte B con un selector tener las siguientes opciones.
Trafico Mantenimiento todas prendidas. Precaucin todas parpadeando. Revisin todas apagadas

Parte C
Realizar un circuito de potencia para conectar la tarjeta a tres lmparas de alterna.

Ing. Juan Carlos Prez Lujn

E71 09-02.11

E72 14-02-11

E74 11-02-11

E75 14-02-11

Adquisicin de seales analgicas


EAI Easy Analog Input. Este subVi que usaremos con la tarjeta Labjack y Labview.

Desde el panel de bloques abrimos el men de funciones

Buscamos las funciones de la tarjeta en Addons

Seleccionemos la funcin LJ EAI

Ing. Juan Carlos Prez Lujn

Adquisicin de seales analgicas


Vamos a disear el siguiente VI. Ejemplo LJ EA1

Ing. Juan Carlos Prez Lujn

E71 14-02-11

E72 14-02-01

E74 14-02-11

E75 14-02-11

Calibracin
1.
1.

Terminado el programa anterior


Tome un pedazo de cable y conctelo a las terminales CAL y AI0 de la tarjeta U12. Ejecute el programa que acaba de hacer. Observe la pantalla frontal del programa y el indicador debe mostrar 2.500 V o algo aproximado. Detenga el programa Repita lo anterior para las dems terminales hasta la AI7. Desconecte el cable de CAL y conctelo a una terminal de 5V y pruebe todas las salidas analgicas. Debe de mostrarse 5.120 V.

2. 3.
4. 5. 6.

Ing. Juan Carlos Prez Lujn


*Informacin proporcionada por: M. En C. Jorge C. Guas Noriega

Ejemplo LJ EAO
Reproduzca el siguiente cdigo

Ing. Juan Carlos Prez Lujn

EAO Salidas Analgicas


Conecte la tarjeta LJ a la computadora. Ejecute el programa que acaba de realizar. Utilice un multmetro para medir la tensin entre las terminales GND y AO0, cuando el dial se encuentre en cero. Repita el paso anterior para GND y AO1. Utilice los controles del panel frontal y sin rebasar el valor de 5V mida las salidas de las terminales AO0 y AO1. Nota: si introduce un valor mayor a 5V, se generara un error de entrada/salida y la aplicacin se bloqueara.

Ing. Juan Carlos Prez Lujn

Conexin entre entradas y salidas analgicas

Ing. Juan Carlos Prez Lujn

E71 16-02-11

E72 16-02-11

E74 16-02-11

E75 16-02-11

Salidas Analgicas

Conecte las clemas de AO0 con la clema AI0. Haga lo mismo con la clema AO1 y la AI1 usando dos pedazos de cable. Ejecute el programa que acaba de hacer. En la ventana Frontal establezca en los controles de salida analgica 0 y salida analgica 1, es muy cercano a los establecidos en los controles. Observe que el valor mostrado por los indicadores salida 0 y salida 1 es muy cercano al establecido en los controles. Repita los dos puntos anteriores para diferentes valores de tensin entre 0 y 5 volts. Detenga el programa y desconecte.

Ing. Juan Carlos Prez Lujn

Graficando una S. Analgica

Realice el siguiente VI. Utilice Waveform Chart.

Ing. Juan Carlos Prez Lujn

Ejercicio 22
Usando cuatro estaciones de temperatura crear un VI

Ing. Juan Carlos Prez Lujn

Ejercicio 22
Usando cuatro estaciones de temperatura crear un VI :
Debe de calibrar la seal del sensor con la temperatura real. Caracterice los sensores. Utilice un bao trmico. Muestree la temperatura de cada sensor en tiempo real. De el promedio de la temperatura. De alarmas a diferentes. Acceso con un usuario y contrasea especifica. Modulo de conversin de unidades subVi. Graficar las temperaturas y el promedio. El Vi podr ajustar el disparo de las alarmas. Debe encender un ventilador cuando una de las temperaturas exceda. Utilice los ejercicios 9 y 10 como referencia. La informacin debe estar en un archivo de texto. Proporcionar una alarma sonora por sensor. 30, 50, 52,55 Proporcionar una alarma luminosa por sensor. 45,55,58,60 Tolerancia del sensor 3. Intervalo de 0 a 100 Remedial Incluir un reporte y desviacin de 1
Ing. Juan Carlos Prez Lujn

E71 1-03-11

E72 1-03-11

E74 1-03-11

E75 1-03-11

Diagrama de bloques
Tarjeta de adquisicin de datos LabJack

Seal de sensor y amplificacin

Alarmas sonoras y visuales

Bao trmico y hielo

PC LABVIEW

Ing. Juan Carlos Prez Lujn

Remedial

1 Calculo del RFC.


D e b e a c t i v a r u n m o d

Ing. Juan Carlos Prez Lujn

Remedial

E71

E72

E74

Ing. Juan Carlos Prez Lujn

E75

U s a n d o c u a t r o e

Remedial

Control de iluminacin de una casa.


4 h a b i t a c i o n

Ing. Juan Carlos Prez Lujn

Remedial

Ing. Juan Carlos Prez Lujn


Realizar un Vi que controle un motor a pasos de cuatro bobinas (a,b,c,d) con los siguientes puntos.

Ejercicio 23
Manipulacin de informacin en forma remota
Comunicar dos computadoras por medio del puerto serial. La computadora 1 ser la que manipule una tarjeta de adquisicin de datos que se encuentre montada en la computadora 2. Se debe manipular dos salidas digitales y dos entradas analgicas. Se debe poder manipular las salidas digitales desde la PC1. La tarjeta debe estar montada en la PC2. Se debe graficar las entradas analgicas desde la PC1 en una sola grafica.

Ing. Juan Carlos Prez Lujn

E71

E72

E74

E75

Comunicacin serial
El protocolo de comunicacin RS232 es conocido como el puerto serial de las computadoras, este permite la comunicacin entre otros dispositivos tales como otra computadora, el mouse, impresora, para los microcontroladores, etc. La comunicacin RS232 es de tipo serial, ya que los bits vienen uno detrs de otro. El protocolo de comunicacin ms comn de los mtodos de comunicaciones el RS232. Para la comunicacin se utiliza un cable en el cual se encuentra un conector llamado DB9, se llama as por que tiene la forma de D y tiene 9 patitas o 9 entradas.

Ing. Juan Carlos Prez Lujn

Serial

Utilizaremos el ejemplo que tiene el LabView para implementar la comunicacin serial. Basic Serial Write and Read.vi, el cual encontramos desde los ejemplos ya instalados. Se necesita un cable serial uno a uno.

Ing. Juan Carlos Prez Lujn

Configuracin del puerto


Uno de los detalles que se debe de cuidar para el uso del puerto serial es que configuracin del puerto debe de ser la misma en los dos equipos, ya sea computadora, plc, pic, etc.

Ing. Juan Carlos Prez Lujn

Graficas y Tab control

Cuando en el panel frontal se tiene demasiados controles, indicadores, graficas, etc. Se vuelve complicado y cansado la pantalla. Existen varias herramientas que mejora el aspecto y administracin de la pantalla frontal. Una de ellas son los contenedores, los cuales ayudan a simplificar las pantallas del labview.

Ing. Juan Carlos Prez Lujn

Tab Control
El Tab Control lo encuentras en contenedores. Funciona como un archivador que puede visualizar distintas condiciones en un mismo espacio. Este se debe concetar a

Ing. Juan Carlos Prez Lujn

Ing. Juan Carlos Prez Lujn

Ejercicio 24 comunicacin tcp entre varios usuarios Ejercicio 25 comunicacin TCP entre equipos y labjack control de un motor a pasos

Ing. Juan Carlos Prez Lujn

Transferencia Iterativa de Datos Cuando este programando sus ciclos, normalmente


puede requerir acceder datos desde iteraciones previas. Por ejemplo, si usted est adquiriendo una pieza del dato en cada iteracin de un ciclo y debe realizar un promedio cada cinco piezas de datos, debe recordar los datos desde iteraciones previas del ciclo. Los registros de desplazamiento (shift registers) transfieren valores de datos desde una iteracin del ciclo a la siguiente.

Otro mtodo

El Nodo Feedback es otro mtodo usando en LabVIEW para retener informacin desde una iteracin previa.

E71

E72

E74

E75

Los registros de desplazamiento son similares a las variables estticas en los lenguajes de programacin basados en texto. Use registros de desplazamiento cuando desee pasar valores desde iteraciones previas a travs del ciclo a la iteracin siguiente. Un registro de desplazamiento aparece como un par de terminales, como se muestra a continuacin, directamente opuestos uno con el otro a los lados verticales del borde del ciclo.

Registro previo

La terminal del lado derecho del ciclo contiene una flecha hacia arriba y almacena el dato a la terminacin de una iteracin. LabVIEW transfiere el dato conectado al lado derecho del registro a la siguiente iteracin. Luego que el ciclo se ejecuta, la terminal en el lado derecho del ciclo retorna el ltimo valor almacenado en el registro de desplazamiento.

Terminales del registro

Creando Cree un registro de desplazamiento haciendo clic derecho en el borde izquierdo o derecho de un ciclo y seleccionando Add Shift Register desde el men rpido.

Ejemplo 26 shift register

E71

E72

E74

E75

Registros de Desplazamiento Los registros Apilados de desplazamiento apilados le


permiten acceder datos desde iteraciones previas del ciclo. Los registros de desplazamiento apilados recuerdan valores desde mltiples iteraciones previas y llevan estos valores a las iteraciones siguientes. Para crear registros de desplazamiento apilados, haga clic derecho en el terminal izquierdo y seleccione Add Element desde el men rpido.

Apilado del registro

Los registros de desplazamiento apilados pueden ocurrir solo en el lado izquierdo del ciclo ya que el terminal derecho transfiere el dato generado solo desde la iteracin actual a la iteracin siguiente, como se muestra en la siguiente figura.

Ejemplo

E71

E72

E74

E75

Ejemplo

E71
Ing. Juan Carlos Prez Lujn

E72

E74

E75

Ejercicio 27

Copie el siguiente cdigo. Observe su funcionamiento.

Ing. Juan Carlos Prez Lujn

Ciclo For

Un For Loop, mostrado a continuacin, ejecuta un subdiagrama un nmero fijo de veces. La siguiente ilustracin muestra un For Loop en LabVIEW, un diagrama de flujo equivalente de la funcionalidad del For Loop y un ejemplo de pseudocdigo de la funcionalidad del For Loop.

FOR LOOP

El For Loop est localizado en la paleta FunctionsAll Functions Structures. Tambin puede colocar un While Loop en el diagrama de bloques, hacer clic derecho en el borde del While Loop y seleccionar Replace with For Loop desde el men rpido para cambiar un While Loop por un For Loop. El valor en el terminal de cuenta (una terminal de entrada), mostrado a continuacin, indica cuantas veces se repite el subdiagrama. El terminal de iteracin (un terminal de salida), mostrado a continuacin, contiene el nmero de iteraciones realizadas.

For

La terminal de cuenta siempre inicia en cero. Durante la primera iteracin, la terminal de iteracin entrega 0.

For

El For Loop difiere del While Loop en que el For Loop se ejecuta un nmero fijo de veces. Un While Loop para su ejecucin del subdiagrama solo si existe el valor en el terminal condicional.

Calcula el promedio de un numero determinado de muestras con un intervalo seleccionado

Ejemplo 28

E71

E72

E74

E75
Ing. Juan Carlos Prez Lujn

Ejercicio 29

Contador

El contador con un pulso deber de ir incrementando en cuenta de uno. Al llegar el conteo a 10 deber de decrementar en uno. Cuando llegue a cero deber de reiniciar el contador ascendente y comenzar de nuevo

Ing. Juan Carlos Prez Lujn

30
Control de iluminacin de una casa.
4 habitaciones, 3 baos, Sala, Comedor, Cocina, Cochera, Patio trasero. Solo lo pueden modificar con calve de acceso. El control debe tener dos modos, manual y automtico. Modo manual.
Cada sitio se puede prender y apagar en forma independiente, con un interruptor.

Modo automtico.
Estarn encendiendo en forma aleatoria siguiendo lo siguiente:
Habitacin1-Bao1 Habitacin3-Comedor Habitacin2-Sala Habitacin4-Cochera Cocina-Bao2-patio trasero.

Cada punto quedara encendida durante 30 segundos y despus se apagara.

Ing. Juan Carlos Prez Lujn

For
El siguiente For Loop genera un nmero aleatorio cada segundo durante 100 segundos y muestra los nmeros aleatorios en un indicador numrico.

Conversin Numrica
LabVIEW puede representar tipos de datos numricos como enteros con signo y sin signo, valores numricos de punto flotante o valores numricos complejos. Normalmente, cuando usted cablea diferentes tipos de representacin a las entradas de una funcin, la funcin regresa una salida en el formato ms largo o amplio. LabVIEW selecciona la representacin que emplee ms bits. Si el nmero de bits es el mismo, LabVIEW selecciona sin signo sobre con signo. Por ejemplo, si usted cablea un DBL y un I32 a una funcin Multiply, el resultado es un DBL, como se muestra en la Figura siguiente. El entero con signo de 64 bits es coercionado ya que este emplea menos bits que el valor numrico de punto flotante y precisin doble. La entrada menor de la funcin Multiply muestra un punto gris, llamado punto de coercin, que indica la ocurrencia de la coercin de un nmero.

Sin embargo, el terminal de cuenta del For Loop trabaja de manera opuesta. Si usted cablea un valor numrico de precisin doble y punto flotante al terminal de cuenta de 64 bits, LabVIEW convierte el valor numrico largo a un entero con signo de 32 bits. Aunque la conversin es contraria a la conversin estndar normal, esta es necesaria, ya que un For Loop solo se puede ejecutar un nmero entero de veces.

Temporizando un VI
Cuando un ciclo termina de ejecutar una iteracin, inmediatamente inicia la ejecucin de la siguiente, a menos que alcance una condicin de paro. Muy frecuentemente, usted requiere controlar la frecuencia o temporizacin de la iteracin. Por ejemplo, si est adquiriendo datos, y desea adquirirlos una vez cada 10 segundos, necesita de una forma para temporizar las iteraciones del ciclo para que ellas ocurran una vez cada 10 segundos.

Funciones de Espera

Una funcin de espera se coloca dentro de un ciclo para permitir que el VI duerma por una cantidad determinada de tiempo. Esto permite que su procesador conduzca otras tareas durante el tiempo de espera. Las funciones de espera usan el reloj de milisegundos del sistema operativo

La funcin Wait Until Next ms Multiple, mostrada a la izquierda, monitorea un contador en milisegundos y espera hasta que este alcance un mltiplo de la cantidad que usted especifica. Use esta funcin para sincronizar actividades. Coloque esta funcin en un ciclo para controlar su velocidad de ejecucin. Para que esta funcin sea efectiva, su tiempo de ejecucin del cdigo debe ser menor al tiempo especificado para esta funcin. La velocidad de ejecucin para la primera iteracin del ciclo es indeterminada.

La funcin Wait (ms), mostrada a la izquierda, espera hasta que el contador de milisegundos cuente en una cantidad igual a la entrada que usted especifica. Esta funcin garantiza que la velocidad de ejecucin del ciclo es al menos la cantidad en la entrada que usted especifica.

Tiempo que pas (elapsed time)


En algunos casos, es til determinar cuanto tiempo se ha enlazado luego de algn punto en su VI. El VI Elapsed Time Express, mostrado a la izquierda, indica la cantidad de tiempo que se ha enlazado luego del tiempo especificado de inicio. Este VI le permite llevar registro del tiempo mientras el VI contina la ejecucin. Esta funcin no le provee tiempo al procesador para realizar otras tareas.

Ejercicio

Realizar varios vis para ver la diferencia entre cada uno de los temporizadores.

Realizar cierto ciclo con un cdigo y temporizarlo con las distintas funciones y ver las diferencias.

Use un registro de desplazamiento sin inicializar para preservar el estado de la informacin entre subsecuentes ejecuciones de un VI. La siguiente figura muestra un registro de desplazamiento sin inicializar.

Ejercicio

Realizar el promedio de los 3 ltimos nmeros (simulate signal, random number, cualquier nmero), utilizando shift registers y feedback nodes.

Manejo de arreglos

Ing. Juan Carlos Prez Lujn

Arreglos
Un arreglo consiste de elementos y dimensiones.

Los elementos son los datos que conforman el arreglo. La dimensin es la longitud, altura o profundidad de un arreglo.

Ing. Juan Carlos Prez Lujn

Un arreglo puede tener una o ms dimensiones y tantos como 231, pero solo un elemento por dimensin, permitidos por memoria. Se puede construir arreglos con tipos de datos numricos, booleanos, rutas, cadenas, formas de onda y clusters. Considere el uso de arreglos cuando trabaje con una con una coleccin de datos similares y cuando realice evaluaciones repetitivas. Los arreglos son ideales para almacenar datos que se recolecta desde forma de onda o datos generados en ciclos, donde cada iteracin de un ciclo produce un elemento del arreglo.

Arreglos

Ing. Juan Carlos Prez Lujn

Datos Relacionados

Algunas veces es benfico agrupar datos relacionados entre s. Los arreglos y los clusters se usan para este propsito. Los arreglos combinan datos del mismo tipo en una estructura de dato, y los clusters combinan datos de mltiples tipos en una estructura de dato. Las definiciones de tipo se usan frecuentemente para definir arreglos y clusters personalizados.

Arreglos
Un arreglo consiste de elementos y dimensiones. Los elementos son los datos que conforman el arreglo. Una dimensin es la longitud, altura o profundidad de un arreglo. Un arreglo puede tener una o ms dimensiones y tantos como (2 a la 31) 1 elementos por dimensin, permitidos por memoria. Usted puede construir arreglos con tipos de datos numricos, Booleanos, rutas, cadenas, formas de onda y clusters. Considere el uso de arreglos cuando trabaje con una coleccin de datos similares y cuando realice evaluaciones repetitivas. Los arreglos son ideales para almacenar datos que usted recolecta desde formas de onda o datos generados en ciclos, donde cada iteracin de un ciclo produce un elemento del arreglo.

Restricciones

Usted no puede crear arreglos de arreglos. Sin embargo, puede usar un arreglo multidimensional o crear un arreglo de clusters donde cada cluster contiene uno a ms arreglos. Tambin, no puede crear arreglos de controles de subpanel, controles tab, controles .NET, controles ActiveX, mapas o grficos multiploteo XY.

Creando Controles e Indicadores de Arreglos

Panel frontal

Arreglos de Dos-Dimensiones

Los ejemplos anteriores usan arreglos 1D. Un arreglo 2D almacenan elementos en una grilla. Esto requiere un ndice de columna y uno de fila para localizar un elemento, los cuales ambos se basan en cero. La siguiente figura muestra un arreglo 2D de 8 columnas por 8 filas, el cual contiene 8 8 = 64 elementos.

Ejemplo array de 2 dimensiones

Inicializando Arreglos

Puede inicializar un arreglo o dejarlo sin inicializar. Cuando un arreglo se inicializa, usted define el nmero de elementos en cada dimensin y el contenido de cada elemento. Un arreglo sin inicializar posee dimensiones ms no elementos. La Figura siguiente muestra un control de arreglo 2D sin inicializar. Observe que los elementos estn todos oscurecidos. Esto indica que el arreglo est sin inicializar.

Arreglo sin inicializar e inicializado

Creando Constantes de Arreglos

Para crear una constante de arreglo en el diagrama de bloques, seleccione una constante de arreglo en la paleta Functions, coloque el armazn de arreglo en el diagrama de bloques y ponga una constante de cadena, constante de nmero o constante de cluster en el armazn del arreglo. Puede usar una constante de arreglo para almacenar datos constantes o como base en la comparacin con otro arreglo. Las constantes de arreglo tambin son tiles para pasar datos hacia un subVI.

Entradas de Arreglos

Si habilita el auto-indexado en un arreglo cableado a un terminal de entrada en un For Loop, LabVIEW fija el terminal de cuenta para el tamao del arreglo, as usted no requiere cablear el terminal de cuenta. Ya que puede usar los For Loops para procesar un elemento a la vez en los arreglos, por defecto LabVIEW habilita el auto-indexado para cada arreglo que cablee a un For Loop. Deshabilite el auto-indexado si no requiere procesar un elemento a la vez del arreglo.

Salidas de Arreglos

Cuando auto-indexa un tnel en un arreglo de salida, este arreglo de salida recibe un nuevo elemento desde cada iteracin del ciclo. Por tanto, los arreglos de salida autoindexados siempre son iguales en tamao al nmero de iteraciones. El cable desde el tnel de salida hacia el indicador de arreglo se vuelve ms grueso a medida que cambia a un arreglo en el borde del ciclo, y el tnel de salida contiene corchetes cuadrados representando un arreglo, como se muestra en la Figura

Creando Arreglos de Dos Dimensiones

Puede usar dos For Loops, uno dentro de otro, para crear arreglos 2D. El For Loop exterior crea los elementos en las filas y el For Loop interior crea los elementos en las columnas, como se muestra en la Figura

Ejercicio Concepto: Manipulando Arreglos


Objetivo

Manipular arreglos usando varias Funciones de LabVIEW.

Lo que se tiene que realizar:


Hacer un arreglo de una sola dimension con un ciclo for Hacer un arreglo de una sola dimension con un ciclo while Hacer un arreglo de 2 dimensiones con un ciclo for Investigar para que sirve cada una de las funciones que se encuentran en la paleta de array en la paleta de funciones.

Ejercicio intensity chart y graph

En el panel frontal agregue una intensity chart y una graph, vea que tipo de datos se le tienen que enviar y grafique algun numero aleatorio, tambien grafique el resultado de una funcion seno con 2 ciclos for anidados, vea que es lo que pasa y experimente con los controles e indicadores disponibles, ademas de las funciones de arreglo.

TARJETA DAQ

CARACTERSTICAS GENERALES

LAS TARJETAS DAQ PUEDEN TENER LO SIGUIENTE


SEALES ANALGICAS ENTRADA SEALES ANALGICAS DE SALIDA SEALES DIGITALES ENTRADA Y SALIDA CONTADORES OTRAS SEALES.. NATIONAL INSTRUMENTS GENERALMENTE UTILIZA LAS PRIMERAS 4 TIPOS DE SEALES EN SUS TARJETAS DAQ

SEALES ANALGICAS DE ENTRADA

LAS SEALES ANALGICAS GENERALMENTE SON UTILIZADAS PARA MEDIR FENMENOS FSICOS QUE CONTINUAMENTE VARAN ENTRE VALORES, COMO LO ES LA TEMPERATURA, PRESIN, FLUJO.

TERMINOS A UTILIZAR CUANDO TRABAJAMOS CON SEALES ANALGICAS Y DAQ. 1. CANALES


2. MUESTRAS 3. BUSQUEDAS 4. MULTIPLEXOR 5. ATERRIZAMIENTO VOLTAJE DIFERENCIAL Y REFERENCIADO 7. GANANCIA 8. RANGO 9. RESOLUCIN 10. FRECUENCIA DE MUESTREO 11. FORMAS DE ONDA 12. TRIGGERING

6.

CANAL y MUESTRA

ES LA CONEXIN ELCTRICA A UNA SEAL. MUESTRA ES LA CONVERSIN DE UNA SEAL ELCTRICA A UN VALOR DIGITAL.

BUSQUEDA (SCAN)
ES LA CONEXIN DE UNA O MAS MUESTRAS, EN UNA O MAS CANALES, HABLANDO DEL MISMO TIEMPO (O CERCA DE EL MISMO TIEMPO EN LA ADQUISICIN). ALGUNAS TARJETAS DAQ PUEDEN TENER CERCA DE UNOS CUANTOS MICROSEGUNDOS DE RETRASO ENTRE CANALES. PARA REDUCIR ESTE TIEMPO HAY QUE UTILIZAR SISTEMAS DAQ CON MUESTREO SIMULTANEO.

MULTIPLEXORES

SON USADOS PARA UTILIZAR UN SOLO AMPLIFICADOR DE INSTRUMENTACIN EN VEZ DE UTILIZAR UNO POR CANAL SE UTILIZA UN MULTIPLEXOR PARA PODER AHORRAR DINERO EN COMPONENTES.

PGIA (programable gain instrumentation amplifier) multiplica un voltaje por un factor programado por el usuario

INTERNAMENTE SE UTILIZA DE LA SIGUIENTE MANERA

TRUCO PARA CHEQUEO DE SEAL DE TIERRA


SI NO SABES DONDE UNA SEAL ES ATERRIZADA, PRIMERO, TOMA UN MULTMETRO, SELECCIONA MEDICIN EN RESISTENCIA, LUEGO MIDE LA RESISTENCIA ENTRE LA TIERRA DE LA SEAL Y LA TIERRA DE LA TARJETA DAQ. LA TIERRA DE LA DAQ ES LA MISMA QUE LA TIERRA DE LA PC. SI EL MULTMETRO INDICA CUALQUIER RESISTENCIA (NO UN CIRCUITO ABIERTO) ENTONCES SI ESTAMOS ATERRIZADOS. SI EL MULTMETRO INDICA CIRCUITO ABIERTO, INVIERTE LAS SEALES DEL MULTMETRO. SI EN CUALQUIERA DE LOS 2 CASOS MARCA ABIERTO, NUESTRA SEAL ESTA FLOTANDO PERO SI MARCA RESISTENCIA ENTONCES EST BIEN ATERRIZADO.

LA TIERRA DE LA SEAL QUE ESTAS MIDIENDO, PUDE SER UN VOLTAJE DIFERENTE QUE LA TIERRA DE NUESTRA DAQ. ESTO PUEDE CAUSAR INCONGRUENCIAS EN LA MEDICIN FINAL, COMO EXISTE DIFERENCIA DE POTENCIAL ENTRE TIERRAS OCASIONA LO QUE SE LLAMA GROUND LOOP

IMPENDANCIA DE LA FUENTE SEAL

DE

EN PALABRAS TCNICAS ES LA RESISTENCIA QUE TENEMOS EN LA EQUIVALENCIA DE THEVENING. A MENOS IMPEDANCIA MAS FUERTE ES LA FUENTE DE LA SEAL. HAY QUE MANTENER EL MENOR RANGO DE IMPEDANCIA ENTRE LA FUENTE Y NUESTRO SISTEMA DAQ PARA PODER TENER MEJORES MEDICIONES Y MENOR ERROR.

GENERALMENTE ESTO NO ES UN PROBLEMA, LAS FUENTES TIPICAS DE SEAL COMO RTD, GALGAS, TERMOPARES, TERMISTORES TIENEN UNA MUY BAJA IMPEDANCIA COMPARADA CON LA DE LAS DAQ, LAS CUALES ESTN DISEADAS PARA TENER IMPEDANCIAS DE G OHM.

CONEXIONES DIFERENCIALES Y REFERENCIADAS


SON LAS DIFERENTES FORMAS DE CONECTAR UNA SEAL ANALGICA AL DAQ. UNA CONEXIN DIFERENCIAL ES LA QUE LA QUE LA SEAL VIENE CON SU PROPIA REFERENCIA ES DECIR TENEMOS 2 CABLES POR SEAL.

UNA CONEXIN REFERENCIADA ES LA CUAL EN LA QUE TENEMOS VARIAS SEALES ANALGICAS COMPARTIENDO LA MISMA REFERENCIA CON UN CABLE POR SEAL Y UN COMN PARA TODAS LAS SEALES ANALGICAS.

CUANDO USAR MEDICIN DIFERENCIAL (RECOMENDACIN)


LA SEAL DE ENTRADA TIENE BAJO NIVEL (MENOS DE 1 VOLT) LA MEDICIN A REALIZAR EST CONECTADO A MAS DE 3 METROS LA SEAL DE ENTRADA REQUIERE DIFERENTE REFERENCIA A TIERRA LA SEAL VIAJA A TRAVS DE LUGARES CON RUIDO (ELCTRICO)

RSE Y NRSE

RSE (REFERENCIADO A TIERRA) NRSE (NO REFERENCIADO A TIERRA)

RSE

SIGNIFICA QUE EL NEGATIVO DE LA SEAL EST CONECTADA A LA TIERRA DE LA COMPUTADORA

NRSE

SIGNIFICA QUE LA TIERRA DE LA SEAL NO ES LA MISMA QUE LA DE LA COMPUTADORA

RESOLUCIN

ES LA MENOR DIFERENCIA EN UN VALOR MEDIDO POR NUESTRO SISTEMA (EL MNIMO CAMBIO QUE PUEDE DETECTAR).

TIEMPO DE ESCANEO

ES SIMPLEMENTE EL NMERO DE VECES POR SEGUNDO QUE EL ADC MIDE EL VALOR DE ENTRADA. COMUNMENTE LLAMADO: (PARTICIPACIN GRUPAL)

LLAMADO FRECUENCIA DE MUESTREO

ALIASING

ES UN EFECTO EL CUAL SE DA CUANDO LA FRECUENCIA DE MUESTREO NO ES AL MENOS 2 VECES MAYOR A LA FRECUENCIA DE LA SEAL A MUESTREAR O CONVERTIR.

EL ALIASING DA COMO RESULTADO OTRA SEAL DE MENOR FRECUENCIA A LA SEAL ACTUAL. NO EXISTE MODO DE REPONER O REPARAR CON ALGO EN LA COMPUTADORA CUANDO YA SE HA HECHO LA CONVERSIN. EXISTEN DAQS CON FILTROS ANTIALIASING.

WAVEFORM

SIMPLEMENTE ES UNA SECUENCIA DE DATOS ANLOGOS O DIGITALES QUE YA FUERON MUESTREADOS.

TRIGGERING

SIGNIFICA UNA SEAL DE INICIO PARA LA DAQ (LA USB SI TIENE UN TRIGGER PFI0). ESTA SEAL INDICA A LA DAQ EL INICIO DE ALGO CUANDO EL VOLTAJE EXCEDE (BORDE DE DISPARO POSITIVO O NEGATIVO).

Comunicacin a Travs de Mltiples Ciclos

Variables Variables Globales Funcionales Condiciones de Ejecucin Sincronizando Transferencia de Datos

Variables
En LabVIEW, es el flujo de datos en lugar del orden secuencial de comandos quien determina el orden de ejecucin de los elementos del diagrama de bloques. Por tanto, usted puede crear diagramas de bloques que poseen operaciones simultneas. Por ejemplo, puede ejecutar dos For Loops simultneamente y desplegar los resultados en el panel frontal, como se muestra en el siguiente diagrama de bloques.

Sin embargo, si usted usa cables para pasar datos entre diagramas de bloques paralelos, ellos ya no operarn en paralelo. Los diagramas de bloques en paralelo pueden ser dos ciclos paralelos en el mismo diagrama de bloques sin ninguna dependencia del flujo de datos o dos VIs separados que son llamados al mismo tiempo. El diagrama de bloques en la Figura no ejecuta los dos ciclos en paralelo debido al cable entre los dos subVIs.

Los cables crean una dependencia de dato, ya que el segundo ciclo no se inicia hasta que el primer ciclo termine y pase el dato a travs de su tnel. Para asegurarse que los dos ciclos se ejecuten concurrentemente, remueva el cable. Para pasar datos entre los subVIs, use otra tcnica, tal como una variable.

En LabVIEW, las variables son elementos del diagrama de bloques que le permiten acceder o almacenar datos en otra localizacin. La localizacin actual del dato vara dependiendo del tipo de variable. Las variables locales almacenan datos en controles e indicadores del panel frontal. Las variables globales y variables compartidas en procesos simples almacenan datos en depsitos especiales que usted puede acceder desde mltiples VIs. Las variables globales funcionales almacenan datos en registros de desplazamiento de while loops. Independiente de donde la variable almacena los datos, todas las variables le permiten saltar el flujo normal de datos al pasar datos desde un lugar a otro sin conectarlos con un cable. Por esta razn, las variables son tiles en las arquitecturas paralelas, pero tambin poseen ciertos inconvenientes, tal como condiciones de ejecucin.

Usando Variables en un VI Simple


Las variables locales transfieren datos dentro de un solo VI. Creando Variables Locales Haga clic derecho en un objeto existente del panel frontal o en un terminal del diagrama de bloques y seleccione CreateLocal Variable desde el men rpido para crear una variable local. Aparece un icono de la variable local para el objeto en el diagrama de bloques. Tambin puede seleccionar una variable local desde la paleta Functions y colocarla en el diagrama de bloques. El nodo de variable local, mostrado a continuacin, todava no est asociado con un control o indicador.

Creando Variables Globales


Use variables globales para acceder y pasar datos entre varios VIs que se ejecutan simultneamente. Las variables globales son objetos incluidos de LabVIEW. Cuando crea una variable global, LabVIEW automticamente crea un VI global especial, el cual posee un panel frontal pero no tiene diagrama de bloques. Adicione controles e indicadores al panel frontal del VI global para definir los tipos de datos que contienen las variables globales. En efecto, este panel frontal es un contenedor desde el cual varios Vis pueden acceder a los datos.

Por ejemplo, suponga que posee dos VIs ejecutndose simultneamente. Cada VI contiene un While Loop y escribe puntos de datos a una grfica de forma de onda. El primer VI contiene un control Booleano para terminar ambos VIs. Usted debe usar una variable global para terminar ambos ciclos con un solo control Booleano. Si ambos ciclos estuvieran en un solo diagrama de bloques dentro del mismo VI, podra usar una variable local para terminar los ciclos.

Seleccione una variable global, mostrada a continuacin, desde la paleta Functions y colquela en el diagrama de bloques.

Haga doble clic en el nodo de la variable global para mostrar el panel frontal del VI global. Coloque controles e indicadores en este panel frontal de la misma forma que lo hace en un panel frontal estndar. LabVIEW usa etiquetas propias para identificar las variables globales, as etiquete los controles e indicadores del panel frontal con etiquetas propias descriptivas.

Puede crear varios VIs globales simples, cada uno con un objeto de panel frontal, o puede crear un VI global con mltiples objetos de panel frontal. Un VI global con mltiples objetos es ms eficiente ya que usted puede agrupar entre s variables relacionadas. El diagrama de bloques de un VI puede incluir varios nodos de variables globales que estn asociados con controles e indicadores en el panel frontal de un VI global. Estos nodos de variables globales pueden ser ya sea copias del primer nodo de variable global que usted coloc en el diagrama de bloques del VI global, o nodos de variable global de VIs globales que coloc en el VI actual. Usted coloca VIs

globales en otros VIs de la misma forma que coloca subVIs en otros VIs. Cada vez que coloque un nuevo nodo de variable global en un diagrama de bloques, LabVIEW crea un nuevo VI asociado solo con este nodo de variable global y las copias de este

Panel frontal de una variable global

Luego que termine de colocar objetos en un panel frontal de un VI global, gurdelo y regrese al diagrama de bloques del VI original. Entonces debe seleccionar el objeto en el VI global que desea acceder. Haga clic derecho en el nodo de la variable global y seleccione el objeto de panel frontal desde el men rpido Select Item. El men rpido lista todos los objetos del panel frontal en el VI global que poseen etiquetas propias.

Tambin puede usar la herramienta Labeling para hacer clic en el nodo de la variable global y seleccionar el objeto del panel frontal desde el men que se despliega.

Si desea usar esta variable global en otros VIs, seleccione FunctionsAll FunctionsSelect a VI. Por defecto, la variable global est asociada con el primer objeto del panel frontal con una etiqueta propia que usted haya colocado en el VI global. Haga clic derecho en el nodo de la variable global que coloc en el diagrama de bloques y seleccione un objeto del panel frontal desde el men rpido Select Item para asociar la variable global con el dato desde otro objeto de panel frontal

Creando Variables Compartidas en Procesos Simples


Usted debe usar un archivo de proyecto para usar una variable compartida. Para crear una variable compartida en proceso simple, haga clic derecho en My Computer en la ventana Project Explorer y seleccione New Variable. Aparece la caja de dilogo Shared Variable, como se muestra en la Figura siguiente

En Variable Type, seleccione Single Process. Dele a la variable un nombre y un tipo de dato. Luego que cree la variable global, esta automticamente aparece en una nueva librera en su archivo de proyecto. Guarde la librera. Puede adicionar variables globales a esta librera de acuerdo a las necesidades. Usted puede arrastrar y liberar la variable desde la lista en laventana Project Explorer, directamente al diagrama de bloques. Use el men rpido para conmutar entre escritura y lectura. Use los clusters de error en la variable para imponer el flujo de datos.

Usando con Cuidado las Variables


Las variables locales y globales son conceptos avanzados en LabVIEW.Ellas no son parte inherente del modelo de ejecucin de flujo de datos deLabVIEW. Los diagramas de bloques pueden convertirse en ms difciles deleer cuando usa variables locales y globales, as usted debe usarlas con cuidado. El mal uso de las variables locales y globales, tal como usarlas en lugar de un panel conector o usarlas para acceder valores en cada marco de una estructura de secuencia, puede conducir a comportamientos inesperados en los VIs. El uso excesivo de variables locales y globales, tal como usarlas para evitar cables largos a travs del diagrama de bloques o usarlas en lugar del flujo de datos, reduce el desempeo.

Las variables se usan frecuentemente de forma innecesaria. El ejemplo en la Figura de la siguiente diapositiva muestra una aplicacin de luz de trfico implementada como una mquina de estados. Cada estado actualiza la luz para el siguiente estado de la secuencia de luz. En el estado mostrado, el trfico de este y oeste poseen una luz verde, mientras el trfico norte y sur poseen una luz roja. Este estado espera por 4 segundos, como se muestra con la funcin Wait (ms).

El ejemplo mostrado en la Figura siguiente cumple exactamente con la misma tarea, pero de forma ms eficiente y usando un mejor diseo. Observe que este ejemplo es mucho ms fcil de leer y entender que el ejemplo anterior, en gran parte reduciendo el uso de variables. Colocando los indicadores en el While Loop fuera de la estructura Case, los indicadores pueden actualizarse despus de cada estado sin el uso de una variable. Este ejemplo es menos difcil de modificar para mayor funcionalidad, tal como la adicin de seales de giro a izquierda, que el ejemplo anterior

Inicializando Variables
Verifique que las variables locales y globales contengan valores de datos conocidos antes de ejecutar el VI. De lo contrario, las variables pueden contener datos que causen comportamiento incorrecto del VI. Si no inicializa la variable antes que el VI la lea por primera vez, la variable contiene el valor por defecto del objeto de panel frontal asociado. La Figura sig. muestra un error comn en el uso de variables. Una variable compartida sincroniza las condiciones de paro para los dos ciclos. Este ejemplo opera la primera vez que se ejecuta, ya que el valor por defecto de un Booleano es False. Sin embargo, cada vez que este VI se ejecuta el control Stop escribe un valor True en la variable. Por consiguiente, la segunda vez y subsecuentes veces que este VI se ejecuta, el ciclo inferior se para luego de solo una sola iteracin a menos que el primer ciclo actualice la variable lo suficientemente rpido.

error

solucin

Variables Globales Funcionales


Usted puede usar registros de desplazamiento sin inicializar en For Loops o While Loops para sostener datos durante todo el tiempo que el VI no est fuera de memoria. El registro de desplazamiento sostiene el ltimo estado del mismo. Coloque un While Loop dentro de un subVI y use los registros de desplazamiento para almacenar datos que pueden ser ledos o escritos. El uso de esta tcnica es similar al uso de una variable global. Este mtodo es normalmente llamado una variable global funcional. La ventaja de este mtodo sobre una variable global es que usted puede controlar el acceso de

los datos en el registro de Desplazamiento. La forma general de una variable global funcional incluye un registro de desplazamiento sin inicializar con una iteracin simple For o While Loop, como se muestra en la Figura siguiente

Aunque puede usar las variables globales funcionales para implementar variables globales simples, como se muestra en el ejemplo anterior, ellas son especialmente tiles cuando se implementa estructuras ms complejas de datos, tales como una pila o un buffer de fila. Tambin puede usar las variables globales funcionales para proteger el acceso a recursos globales, tales como archivos, instrumentos y dispositivos de adquisicin de datos, que usted no puede representar con una variable global.

Condiciones de Ejecucin

Una condicin de ejecucin es una situacin donde la temporizacin de eventos o el calendario de tareas puede afectar involuntariamente una salida o un valor de dato. Las condiciones de ejecucin son un problema comn para programadores que ejecutan mltiples tareas en paralelo y comparten datos entre ellas. Considere el siguiente ejemplo en las Figuras siguientes

Los dos ciclos incrementan ambos una variable compartida durante cada iteracin. Si usted ejecuta este programa, el resultado esperado luego de presionar el botn Stop es que Total Count sea igual a la suma de Count 1 y Count 2. Si ejecuta el programa por un corto periodo de tiempo, usted generalmente ve el resultado esperado. Sin embargo, si ejecuta el programa por un periodo largo de tiempo, Total Count es menor que la suma de Count 1 y Count 2, ya que este programa contiene una condicin de ejecucin. En un computador de un solo procesador, las acciones en un programa multi-tarea como este actualmente ocurren de forma secuencial, pero LabVIEW y el sistema operativo conmutan rpidamente las tareas para que as efectivamente se ejecuten al mismo tiempo. Las condiciones de ejecucin en este ejemplo ocurren cuando conmutar de una tarea a otra

ocurre en un cierto tiempo. Observe que ambos ciclos realizan las siguientes operaciones: Leer una variable compartida. Incrementar el valor ledo. Escribir el valor incrementado a la variable compartida. Ahora considere que sucede si las operaciones de los ciclos fueran ejecutadas en el siguiente orden: 1. Loop 1 lee la variable compartida. 2. Loop 2 lee la variable compartida. 3. Loop 1 incrementa el valor que lee. 4. Loop 2 incrementa el valor que lee. 5. Loop 1 escribe el valor incrementado a la variable compartida. 6. Loop 2 escribe el valor incrementado a la variable compartida.

En este ejemplo, ambos ciclos escriben el mismo valor a la variable, y el incremento del primer ciclo es efectivamente sobrescrito por Loop 2. Esto genera una condicin de ejecucin, la cual puede causar serios problemas si usted intenta que el programa calcule una cuenta exacta

En este ejemplo particular, existen pocas instrucciones entre cuando la variable compartida es leda y cuando es escrita. Por tanto, para el VI es menos probable que conmute entre los ciclos en un mal instante. Esto explica por que este VI se ejecuta bien por un corto periodo de tiempo y solo pierde unas pocas cuentas para periodos largos.

Las condiciones de ejecucin son difciles de identificar y depurar, ya que el resultado depende del orden en el cual el sistema operativo ejecuta las tareas programadas y el tiempo de los eventos externos. La forma en la cual las tareas interactan entre ellas y con el sistema operativo, as como el tiempo arbitrario de los eventos externos, convierten a este orden en esencialmente aleatorio. Frecuentemente, el cdigo con una condicin de ejecucin puede regresar el mismo resultado miles de veces en las pruebas, pero incluso puede regresar un resultado diferente, lo cual puede ocurrir cuando el cdigo est en uso.

La mejor forma para evitar una condicin de ejecucin es usar las siguientes tcnicas:
Controlar y limitar los recursos compartidos. Identificar y proteger las secciones crticas dentro de su cdigo. Especificar el orden de ejecucin.

Entrega de evidencia

7 de abril Disco con todos los ejercicios que se han realizado. Reportes de las practicas Reporte de proyecto final E74 Arturo Carbajal E72 Mario E71 Mara Jos E75 ALFREDO

Ing. Juan Carlos Prez Lujn

Notas para mejorar

Hacer un conversor de binario a decimal con arreglos. Utilizar time loop para generar ciclos. Comunicacin en paralelo.

Ing. Juan Carlos Prez Lujn

Examen

Ing. Juan Carlos Prez Lujn

Presentacin del problema


Escribe aqu tu pregunta. (sta es la pregunta que responde tu experimento .)

Informacin general del proyecto


Escribe aqu una breve introduccin o resumen de tu proyecto.

Investigacin
Resume aqu tu investigacin con entre tres y cinco puntos principales:

1er punto principal


2 punto principal 3er punto principal 4 punto principal 5 punto principal

Variables
Variables controladas: stos son los aspectos que no cambian en todos los experimentos. Variable independiente: la nica variable que cambias y pruebas a propsito. Variable dependiente: la medicin de los cambios observados a causa de la variable independiente. Es importante decidir cmo se va a medir el cambio.

Hiptesis
Tomando como base la investigacin que has realizado, escribirs una respuesta o una solucin (tu suposicin ms fundamentada) para tu pregunta. Asegrate de escribir tu hiptesis antes de comenzar el experimento.

Materiales
Escribe una lista detallada de los artculos necesarios para realizar los experimentos. Especifica las cantidades utilizadas.

Procedimiento
Enumera todos los pasos seguidos para realizar el experimento. No olvides numerar los pasos. Agrega fotografas de tus experimentos.

Datos u observaciones
Resulta ms fcil comprender los datos si se colocan en una tabla o en un grfico. Crea un grfico en Microsoft Excel e imprtalo aqu. Asegrate de que todos los datos estn claramente etiquetados.

Conclusin
Escribe un breve resumen de los descubrimientos en funcin de los resultados de los experimentos. Es necesario indicar si los datos refuerzan la hiptesis y explicar las razones para que lo hagan o no.

Obras citadas
No olvides incluir las fuentes de informacin en formato impreso y electrnico y clasificarlas en orden alfabtico.

S-ar putea să vă placă și