Instrumentacion Virtual 2
-
Upload
manuel-tellez -
Category
Documents
-
view
150 -
download
6
description
Transcript of Instrumentacion Virtual 2
Instrumentation Virtual
U T E Q
Ing. Juan Carlos Pérez Luján
Objetivo El alumno desarrollará instrumentos
virtuales a través de software de
instrumentación virtual y lenguajes
de programación de alto nivel en
aplicaciones de adquisición de datos
para monitorear y controlar las
variables del proceso. Ing. Juan Carlos Pérez Luján
Políticas de clase
• Tolerancia para entrar al aula o laboratorio: 10 min, después
de ese tiempo el alumno no tendrá derecho a entrar a la
clase.
• Entregar el 70% de las prácticas 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ó.
• Límite de faltas por período de evaluación: 3, con más de
tres faltas en un período de evaluación, el alumno NO
ACREDITARÁ dicho período y lo deberá presentar en
extraordinario.
Reportes - Tener buena presentación
- Entregarse puntualmente
- Contener la siguiente información:
a) Número de equipo y nombre de integrantes
b) Objetivo
c) Justificación
d) Alcance
e) Marco teórico y/o estado del arte
f) Material y/o equipo utilizado
g) Desarrollo
h) Resultados y conclusiones
Ing. Juan Carlos Pérez Luján
Prácticas y Ejercicios
• Debe cumplir con un 80% de los requisitos solicitados como
mínimo.
• Debe tener una buena presentación.
• 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
práctica o ejercicio.
• El profesor asignara un numero de entregado y fecha.
• Al final del cuatrimestre se entregara un disco con las
prácticas del cuatrimestre.
• Las prácticas se deberán subir al sitio de la carrera.
Ing. Juan Carlos Pérez Luján
Clave para el sitio
EA51V Ing. Juan Carlos Pérez Luján
Laboratorio •Orden
•Limpieza
•Acomodo de equipos,
accesorios, mobiliario.
•No jugar
•Revisar el equipo al inicio de
la práctica
•No alimentos Ing. Juan Carlos Pérez Luján
Criterios de evaluación
• Se verán durante el curso tres unidades con las siguientes
ponderaciones.
• Instrumentos virtuales - 35%
• Adquisición de datos - 45%
• Control de instrumentos - 20%
• Serán sujetos de evaluación los ejercicios y prácticas realizados durante
el curso.
• Las prácticas de la asignatura estarán 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 teórico-prácticos. Este examen será individual.
• La calificación de todos los trabajos, prácticas y exámenes 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
Adquisición de datos
Control de instrumentos de medición
Ing. Juan Carlos Pérez Luján
Instrumentos Virtuales
El alumno elaborará programas de
computadora que simulen las funciones de un
instrumentos para la automatización de
procesos de medición
Ing. Juan Carlos Pérez Luján
Físico Virtual
Instrumentos
Ing. Juan Carlos Pérez Luján
Instrumentos virtuales
Las aplicaciones en LabView son llamados
Instrumentos Virtuales (Vis), ya que su
apariencia y operación imita a los instrumentos
físicos, tales como osciloscopios, termómetros,
barómetros, multímetros.
Se cuentan con herramientas para adquirir,
analizar, desplegar y almacenar datos.
Ing. Juan Carlos Pérez Luján
Ing. Juan Carlos Pérez Luján
Inicio de LabView
Ing. Juan Carlos Pérez Luján
Seleccionar el VI en blanco
Ing. Juan Carlos Pérez Luján
Inicio
Ing. Juan Carlos Pérez Luján
Control + T Acomoda las pantallas de panel y bloques a lo largo y ancho de pantalla
Ing. Juan Carlos Pérez Luján
Botón derecho del mouse
Haciendo clic con el botón derecho de mouse
sobre las pantallas frontal y de boques
aparecerá la barra de herramientas de cada una
de ellas.
Ing. Juan Carlos Pérez Luján
Tarea Individual
Uno: Investigar los accesos rápidos del
labview
Ejemplo Control+T, shift+derecho
Dos: protocolo RS232
Ing. Juan Carlos Pérez Luján
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 Pérez Luján
Componentes de Panel Frontal
Ing. Juan Carlos Pérez Luján
Diagrama de bloques
Después de que se construye el panel frontal, usted
adiciona código agregando representaciones gráficas de
funciones para controlar los objetos del panel frontal.
Ing. Juan Carlos Pérez Luján
Componentes del Diagrama de Bloques
Ing. Juan Carlos Pérez Luján
Diagrama a bloques Código fuente
Terminales.
Entrada y salida de puertos que intercambian información entre el
panel frontal y el diagrama a bloques
Nodos
Entradas y/o salidas y ejecución de operaciones cuando un VI
corre.
Cables
Transferencia de datos entre los componentes del diagrama de
bloques
Ing. Juan Carlos Pérez Luján
Borrar líneas rotas
En ocasiones las líneas de conexión 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 Pérez Luján
Otros componentes
Ing. Juan Carlos Pérez Luján
Controles
Ing. Juan Carlos Pérez Luján
Shift + derecho mouse en cualquier pantalla frontal o bloques
Ing. Juan Carlos Pérez Luján
Barra de herramientas
Ing. Juan Carlos Pérez Luján
Ejercicio 1 pagina 1/4
Abra un nuevo VI Use ctrl+T para acomodar las pantallas
Botón derecho en el panel frontal para la barra de controles
Seleccione el icono de botones y escoja uno
Arrástrelo a la parte superior del panel frontal
Sobre el usando el botón derecho abrimos la caja de dialogo de propiedades
Ing. Juan Carlos Pérez Luján
Ejercicio 1 pagina 2/4
En la pestaña de apariencia cambie el nombre por Boton1
Abra de nuevo la barra de controles y seleccione un led
En el diagrama de bloques aparecerán lo siguiente
Estos bloques no están conectados solo indican el tipo de dato Booleano
Desde el diagrama de bloque conecté los dos elementos colocando el puntero sobre uno de los triángulos blancos y arrastre
Ejecute el programa usando el botón de run, observe los cambios del led
Ing. Juan Carlos Pérez Luján
Ejercicio 1 pagina 3/4
Después del cambio de estado del interruptor se enciende el led
En el panel frontal, usamos el botón derecho y en controles buscamos «modern» y el icono de decoraciones
Seleccionemos alguna decoración y la arrastramos sobre el botón y el led en el panel frontal
Se puede modificar el tamaño y la posición de la decoración
Desde la barra de herramientas seleccione el icono de reordenamiento para mover a la parte de atrás a la decoración
Enseguida de hacer esta operación tanto el botón como el led quedan puestos dentro de la decoración
Ing. Juan Carlos Pérez Luján
Ejercicio 1 pagina 4/4
Cambiemos el color de la decoración usando shitf + derecho y seleccionemos el pincel
Sobre la decoración y usando el botón derecho obtenemos la paleta de colores
Al desplazarnos por la escala de colores en forma automática cambia el color la decoración
Ing. Juan Carlos Pérez Luján
e82
Ejercicio 2 pagina 1/1
Ing. Juan Carlos Pérez Luján
Ejercicio Elabore el siguiente VI
E82 e79
Operaciones booleanas
Estas operaciones aparecerán 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
Control Indicador
Ing. Juan Carlos Pérez Luján
Tipos más comunes de datos.
Ejercicio 3
Elaborar este programa
Ing. Juan Carlos Pérez Luján
Localizar los indicadores o controles
Cuando en el Vi se tiene
muchos indicadores y
controles se hacen
confusos su localización.
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 Pérez Luján
Ejercicio 3 pagina 1/3
Abrimos un nuevo VI
En el panel frontal abrimos la paleta de controles y seleccionamos controles numéricos
Seleccionamos el control numérico 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 numérico y seleccione la opción de crear indicador
Realice lo mismo para los dos controles, observe que se conectan en forma automática
Ing. Juan Carlos Pérez Luján
Ejercicio 3 pagina 2/3
Modifique los controles e indicadores como se muestra en la imagen
En la pantalla de bloques localice las funciones matemáticas utilizando el botón 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
En el panel frontal introduzca valores en los controles y simule
Coloque decoraciones y cambie colores, agrupe.
Ing. Juan Carlos Pérez Luján • E71
• E72
• E74
• E75
Ejercicio 3 pagina 3/3
Agregue indicadores para otras dos operaciones
Agregue funciones de * y /
Cambie las leyendas de los indicadores
Ing. Juan Carlos Pérez Luján • E71
• E72
• E74
• E75
E82 E79
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 Pérez Luján
Opciones de Ayuda
Ing. Juan Carlos Pérez Luján
Simulación Se puede simular el Vi en pasos, con el fin de ver la
transición 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 están disponibles
para TODAS las terminales de entrada.
Los nodos suministran datos a todas las terminales de
salida cuando termina.
Ing. Juan Carlos Pérez Luján
Constantes
Son valores fijos tanto numéricos, flotantes,
boléanos de indicadores o controles que se
utilicen para acondicionar señales de entrada o
salida de los VI
Ing. Juan Carlos Pérez Luján
Ejercicio 4 Conversor de unidades Realice una VI que cuente con las siguientes características
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 numéricos.
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 Pérez Luján
Función 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 tamaño de los bloques
utilizados para una aplicación.
Es configurable y puede manejar hasta
ocho variables Ing. Juan Carlos Pérez Luján
Ejercicio 5 Los mismos conceptos del ejercicio 4, pero solo usando la función de formula
Ing. Juan Carlos Pérez Luján
Conectar Bloques
Ing. Juan Carlos Pérez Luján
Limpieza del Diagrama
Cuando generamos los controles, indicadores,
funciones, SubVis, Vis expres, etc y se conectan
entre ellos, se vuelve puede perderse muy
fácilmente entre estos.
Para el acomodo del diagrama existe una
herramienta Clean Up Diagram
Ing. Juan Carlos Pérez Luján
Espacio
Se puede ahorrar espacio
en el diagrama de bloques
deshabilitando Mostrar
como un icono.
Ing. Juan Carlos Pérez Luján
Técnicas para eliminar errores
Encontrando los errores.
Haga clic en el botón de
«corre» que esta roto.
Aparece una ventana
mostrando los errores.
Ing. Juan Carlos Pérez Luján
Técnicas para eliminar errores
Resaltar la ejecución.
Haga clic en el botón de ejecución resaltada, el flujo
de datos es animado utilizando burbujas. Los
valores se despliegan en los cables.
Herramienta de prueba.
Haga clic con el botón derecho sobre el cable para
exhibir la ventana de prueba y así mostrar los datos
mientras fluyen por el segmento de cable.
También puede seleccionar la herramienta de
prueba desde la paleta de herramientas y hacer un
clic en el cable. Ing. Juan Carlos Pérez Luján
Punta de prueba
Ing. Juan Carlos Pérez Luján
Cadenas
Son datos de texto.
Ing. Juan Carlos Pérez Luján
Diagrama del Ejercicio 6
Ing. Juan Carlos Pérez Luján
e79 e82
Ejercicio 7
Ing. Juan Carlos Pérez Luján
Uso de cluster
Ejercicio 8
Realizar un Vi que convierta segundos a, horas, minutos y segundos
Ing. Juan Carlos Pérez Luján
Función de espera WAIT
Espera el procesamiento de información un numero
especifico de milisegundos y después devuelve el valor
Ing. Juan Carlos Pérez Luján
Multiplicador de
milisegundos,
constante o control
Sali
da
de
cont
ador
Sincronizador Wait Until
También es un reloj de espera en
milisegundos.
Su uso es sincronizar
actividades.
Se llama esta función en un lazo
(loop), es posible que la primera
interacción sea corto.
Escribir en un archivo de texto
Es muy importante crear reportes de la información que
se tiene de los controles de monitoreo de un proceso.
Es necesario crear archivos que se puedan manipular
Ing. Juan Carlos Pérez Luján
Ejercicio 9
Ing. Juan Carlos Pérez Luján
Ejercicio 9 Crear un control de temperatura con cuatro estaciones de monitoreo.
Las cuatro dan la información en forma automática y variable.
Deben de desplegar alarma cuando sea igual o mayor de los siguientes valores,
T1=45°C, T2=55°C, T3=58°C y T4=60°C.
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
termómetro.
Debe desplegarse la etiqueta cuando exista una alarma o cuando este en orden.
El VI debe escribir la información de todos los termómetros en un archivo de texto.
Se debe mostrar el estado del termómetro.
Se debe obtener el promedio de los cuatro instrumentos.
Los termómetros deben marcar de 0 a 70°C
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 termómetro.
Ing. Juan Carlos Pérez Luján
Ing. Juan Carlos Pérez Luján
SubVis
Ing. Juan Carlos Pérez Luján
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
Fácil para eliminar errores
No se tiene que crear códigos
Requieren menos memoria.
Ing. Juan Carlos Pérez Luján
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 Pérez Luján
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 Pérez Luján
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 Pérez Luján
Crear el icono Haga clic derecho sobre el icono en el diagrama de bloque o panel frontal.
Y seleccione la opción de Edición de icono.
Ing. Juan Carlos Pérez Luján
Definición de terminales
En el panel frontal da un click derecho sobre el icono y aparecerá un
menú.
Seleccione la opción de mostrar terminales.
Seleccione una terminal en blanco y después 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 Pérez Luján
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 Pérez Luján
Sentencias de Control
Ing. Juan Carlos Pérez Luján
Ciclo While… Loop
Similar a un ciclo Do o a un Reapeat-Until en los
lenguajes de programación basados en texto, un
While Loop, ejecuta una subdiagrama hasta que la
condición ocurre.
La siguientes ilustración muestra un While Loop en
LV, un diagrama de flujo equivalente a la
funcionalidad de While Loop y un ejemplo de
pseudocódigo de la funcionalidad del While Loop.
Ing. Juan Carlos Pérez Luján
While
Ing. Juan Carlos Pérez Luján
….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 rectángulo de
selección alrededor de la
selección del diagrama de bloques
que desea que se repita.
Ing. Juan Carlos Pérez Luján
While Loop
Ing. Juan Carlos Pérez Luján
…While
El While Loop siempre se ejecuta al menos una
vez.
El While Loop ejecuta el sub diagrama hasta que la
terminal de condición, 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 Pérez Luján
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 Pérez Luján
…..While
La terminal de iteración ( una
terminal de salida), contiene el
número de iteraciones realizadas
Ing. Juan Carlos Pérez Luján
Ejemplo de While
Ing. Juan Carlos Pérez Luján
….While La cuenta de iteración siempre inicia en cero.
Durante la primera iteracción la terminal de
iteración 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 Función And regresa True solo si ambas entradas
son True. De lo contrario, retorna False.
Ing. Juan Carlos Pérez Luján
Túneles de estructura
Los túneles alimentan datos hacia dentro y hacia
fuera de las estructuras.
Los túneles aparecen como un bloque sólido en el
borde del While Loop.
El bloque es del color del tipo del dato cableado al
túnel.
Los datos pasan fuera del ciclo luego que este
termina.
Ing. Juan Carlos Pérez Luján
Túnel de estructura
Cuando un túnel pasa datos dentro de un
ciclo, el ciclo se ejecuta solo luego que el
dato llega al túnel.
En el siguiente diagrama de bloques, la
terminal de iteración está conectada al túnel.
El valor en el túnel no ingresara al indicador
Iterations hasta que el ciclo While Loop
termina su ejecución.
Ing. Juan Carlos Pérez Luján
Túnel
Ing. Juan Carlos Pérez Luján
Ejercicio 11
Construir un VI que genere continuamente
números aleatorios entre 0 y 1000 hasta que
genere un número que coincida con un número
seleccionado por el usuario.
Determine cuantos números aleatorios generó el
VI antes de encontrar el número.
Ing. Juan Carlos Pérez Luján
Ejercicio 12
A todos los ejercicios anteriores agrégueles un
While Loop, para que solamente terminen su
ejecución con el botón stop.
Nota; tenga cuidado al borrar esta estructura
debido que también lo que este dentro de esta se
borrara.
Ing. Juan Carlos Pérez Luján
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 sección.
Se utiliza como si usáramos cartas para acomodar
acciones.
Solo es un caso a la vez de ejecución.
Ing. Juan Carlos Pérez Luján
Selector de Case
Son muchos los tipos de controles que pueden
seleccionar el Case que utilicemos.
Booleano
Cadena
Numérico
Realizar un VI con ejemplos de los tipos de control.
Ing. Juan Carlos Pérez Luján
Ejercicio 13
Construir un VI que con interruptor habilite y deshabilite 4 interruptores que controlan 4 salidas.
Además 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, presión, temperatura, humedad y nivel
4 leds.
4 botones con indicador.
1 interruptor de 2 posiciones.
1 botón de paro.
Un indicador de texto.
Decoraciones Ing. Juan Carlos Pérez Luján
Ejercicio 14
Ing. Juan Carlos Pérez Luján
31-01-12 E79
Realizar un modulo con cuatro
operaciones suma, resta,
multiplicación, división.
Con un selector de 4 posiciones se
debe seleccionar la operación
deseada.
Se debe mostrar el tipo de operación
en la caratula de la aplicación.
Debe contar con un botón de paro.
Un selector de operación.
Un indicador del resultado.
Dos casillas para la captura de los
números.
Ejercicio 15
Realizar el ejercicio 4 usando While y Case.
Debe tener un menú para seleccionar el tipo de operación que se
este realizando
Una casilla que nos indique el tipo de operación que estemos
realizando.
Solo se puede realizar una operación a la vez.
Debe de contar con un botón de paro.
Decore y combine colores.
Deberá de contar con 10 operaciones matemáticas.
Deberá de contar con 10 operaciones de comparación
Ing. Juan Carlos Pérez Luján
Examen
Realizar un VI con las siguientes características 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», según 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 dígitos del año de nacimiento, los 2 dígitos del mes y los 2 dígitos del día de nacimiento, todo en mayúsculas.
El modulo de RFC debe contar con un botón selector para dar inicio al calculo del mismo
Debe mostrar en la casilla del RFC lo siguiente según sea el caso «RFC» o la leyenda «No calculado»
Debe activar con un modulo de calculadora, con las siguientes operaciones suma resta, multiplicación y división, 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 operación y un selector para seleccionar las operaciones.
Debe guardar la información de todos los módulos, RFC, operación, 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 presentación estética.
Debe de tener por lo menos tres colores diferentes en su presentación.
Debe ser amigable para el usuario.
No debe perderse en texto.
Ing. Juan Carlos Pérez Luján
Examen 2
Realizar un VI con las siguientes características 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», según 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 dígitos del año de nacimiento, los 2 dígitos del mes y los 2 dígitos del día de nacimiento, todo en mayúsculas.
El modulo de RFC debe contar con un botón selector para dar inicio al calculo del mismo
Debe mostrar en la casilla del RFC lo siguiente según 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 operación y un selector para seleccionar las operaciones.
Debe guardar la información de todos los módulos, RFC, operación, resultado, etc
Nivel dos
Acceso al modulo de calculo de RFC y
Acceso a una calculadora con las operaciones de (suma, resta, multiplicación, división, raíz, 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, multiplicación, división, raíz, cuadrado y conversor de segundos a horas,-minutos-segundos)
Acceso a un modulo con tres termómetros que varíen 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 razón 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 presentación estética.
Debe de tener por lo menos tres colores diferentes en su presentación.
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 Pérez Luján
Examen
Ing. Juan Carlos Pérez Luján
E71
28-01-11
E72
28-01-11
E74
28-01-11
E75
27-01-11
Variables locales
Una variable local, es un nodo con la información de un indicador que se puede usar para
cambiar el estado o tomar la información de este.
Ing. Juan Carlos Pérez Luján
Cambio de estado
Este código es un ejemplo
como se puede hacer el
cambio de estado a otro de un
elemento utilizado un conteo
ciclado.
Ing. Juan Carlos Pérez Luján
Estructura de Secuencia
En la subpaleta de control de ejecución.
Ejecuta diagramas secuencialmente.
Puede agregar tantas secuencias se necesite
Ing. Juan Carlos Pérez Luján
Estructura de secuencia
Es como ver fotografías en secuencia, una detrás 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 condición externa si no por la
terminación de su proceso interno.
Ing. Juan Carlos Pérez Luján
Condiciones
Al igual que el Case, el frame necesita forzosamente para
funcionar un ciclo While
Ing. Juan Carlos Pérez Luján
Ejemplo «Semáforo simple» Consideremos un semáforo, 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 Pérez Luján
Diagrama
Estado 1 Roja=1 Amarrillo=0
Verde=0
Estado 2 Roja=0
Amarrillo=0 Verde=1
T2=y
Estado 3 Roja=0
Amarrillo=1 Verde=0
Ing. Juan Carlos Pérez Luján
Semáforo
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 Pérez Luján
Diagrama del semáforo
Ing. Juan Carlos Pérez Luján
E E E
Ejercicios 16, 17 y 18
Ing. Juan Carlos Pérez Luján
Tarea hacer los diagramas de
estado para los ejercicios
16,17 y 18 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 botón de paro.
Es continuo.
Realice este ejercicio usando Case y secuencia
Ing. Juan Carlos Pérez Luján
E71
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 botón de paro.
Es continuo.
Realice este ejercicio usando Case y secuencia
Ing. Juan Carlos Pérez Luján
E71
02-02-11
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 botón de paro.
Es continuo.
Realice este ejercicio usando Case y secuencia
Ing. Juan Carlos Pérez Luján
E71
02-03-11
E72
02-03-11
E74
03-02-11
E75
01-02-11
Ejercicio 19
Parte A agregar dos estados mas al semáforo 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 encendía 1min con 0.5 min de parpadeo Ing. Juan Carlos Pérez Luján E71 E72 E74 E75
LabJack, Sistema de adquisición de datos.
La tarjeta U12 de LabJack es
un periférico de medición y
automatización que permite
la conexión de un PC con el
mundo real.
Aunque la U12 LabJack
tiene muchos mecanismos de
protección redundantes, es
posible, en el caso de uso
inadecuado y / o no
razonable, para dañar la
LabJack e incluso el PC al
que está conectado. Ing. Juan Carlos Pérez Luján
Hardware
Las conexiones externas son:
USB
DB25 digital I/O (D líneas)
Status LED
30 terminales tipo clema.
La conexión USB proporciona alimentación y comunicación.
Ninguna fuente de alimentación externa es necesaria.
Los 5 voltios están disponibles en varios lugares son salidas.
No conecte una fuente de alimentación.
Ing. Juan Carlos Pérez Luján
Terminales Analógicas U12
Su nomenclatura AI0 - AI7
Cuenta con 8 terminales de tornillo para señales de entrada
analógica.
Estos se pueden configurar de forma individual y sobre la marcha-
hasta 8 canales de una sola terminal, 4 canales diferenciales, o
combinaciones entre ellos.
Cada entrada tiene una resolución de 12 bits y una diagonal de la
entrada actual de ± 90 mA o de una sola terminación:
El intervalo de entrada para una sola medida de composición es de
± 10 voltios.
O canales diferenciales pueden hacer uso de la PGA para
proporcionar ganancias de hasta 20, dando una resolución efectiva
de más de 16-bits.
Ing. Juan Carlos Pérez Luján
Terminales Analógicas U12
En modo diferencial, la tensión 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 función de la
ganancia (G) de la siguiente manera:
G=1±20voltios
G=2±10voltios
G=4±5voltios
G=5±4voltios
G=8±2.5voltios
G=10±2voltios
G=16±1.25voltios
G = 20 ± 1 voltio Ing. Juan Carlos Pérez Luján
EDI Easy Digital Input
Realizar el siguiente diagrama de bloques.
Contiene un Until Wiat que sincronizara
la ejecucción.
EDI declara la utilización 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 Pérez Luján
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 lógico 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 lógico en la entrada IO0.
Detenga la corrida del programa.
Ing. Juan Carlos Pérez Luján
Desarrollo
Cambie en el código del programa el número del canal
de entrada, por ejemplo, puede seleccionar IO3.
Ejecute el programa nuevamente.
Cambie el cable de la entrada de IO0 y conéctelo a la
entrada IO3.
Observe en el panel frontal que el LED indica el estado
del mismo.
Desconecte el cable.
Ing. Juan Carlos Pérez Luján
EDO Easy Digital Output Realicemos este nuevo VI
Ing. Juan Carlos Pérez Luján
Desarrollo
Ejecute el programa que acaba realizar.
Con el multimetro mida la tensión entre las clemas GND y IO0, debe
estar en 0.0V o muy cercano, correspondiente a un cero lógico.
Cambie el estado del interruptor.
Mida nuevamente con el multimetro la tensión entre las clemas GND y
IO0, está debe ser 5V o yn valor muy cercano a éste, correspondiente a
un uno lógico.
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 Pérez Luján
Ejercicio 20 Usando el ejercicio 19 cree un nuevo VI.
Implemente el sub necesarios para que sea funcional en la tarjeta labjack.
Material necesario.
Multímetro.
Pinzas de punta.
Cable calibre 22.
Labjack
Resistencias de 330 ohm (3).
Leds rojo, amarrillo verde uno de cada uno
Utilerías de Labjack cargadas en PC.
Ing. Juan Carlos Pérez Luján 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.
Precaución todas parpadeando.
Revisión todas apagadas
Parte C
Realizar un circuito de potencia para conectar la tarjeta a tres lámparas de alterna.
Ing. Juan Carlos Pérez Luján E71
09-02.11
E72
14-02-11
E74
11-02-11
E75
14-02-11
Adquisición de señales analógicas
EAI Easy Analog Input.
Este subVi que usaremos con la tarjeta Labjack y Labview.
Ing. Juan Carlos Pérez Luján
Desde el panel de bloques abrimos el menú de funciones
Buscamos las funciones de la tarjeta en Addons
Seleccionemos la función LJ EAI
Adquisición de señales analógicas
Vamos a diseñar el siguiente VI.
Ejemplo LJ EA1
Ing. Juan Carlos Pérez Luján
E71
14-02-11
E72
14-02-01
E74
14-02-11
E75
14-02-11
Calibración 1. Terminado el programa anterior
1. Tome un pedazo de cable y conéctelo a las terminales CAL y AI0 de la tarjeta
U12.
2. Ejecute el programa que acaba de hacer.
3. Observe la pantalla frontal del programa y el indicador debe mostrar 2.500 V o
algo aproximado.
4. Detenga el programa
5. Repita lo anterior para las demás terminales hasta la AI7.
6. Desconecte el cable de CAL y conéctelo a una terminal de 5V y pruebe todas
las salidas analógicas. Debe de mostrarse 5.120 V.
Ing. Juan Carlos Pérez Luján
*Información proporcionada por:
M. En C. Jorge C. Guas Noriega
Ejemplo LJ EAO
Reproduzca el siguiente código
Ing. Juan Carlos Pérez Luján
EAO Salidas Analógicas Conecte la tarjeta LJ a la computadora.
Ejecute el programa que acaba de realizar.
Utilice un multímetro para medir la tensión 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 aplicación se bloqueara.
Ing. Juan Carlos Pérez Luján
Conexión entre entradas y salidas analógicas
Ing. Juan Carlos Pérez Luján E71
16-02-11
E72
16-02-11
E74
16-02-11
E75
16-02-11
Salidas Analógicas 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 «analógica 0» y
«salida analógica 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 tensión entre 0 y 5
volts.
Detenga el programa y desconecte.
Ing. Juan Carlos Pérez Luján
Graficando una S. Analógica Realice el siguiente VI.
Utilice «Waveform Chart».
Ing. Juan Carlos Pérez Luján
Ejercicio 22 Usando cuatro estaciones de temperatura crear un VI
Ing. Juan Carlos Pérez Luján
Ejercicio 22 Usando cuatro estaciones de temperatura crear un VI :
Debe de calibrar la señal del sensor con la temperatura real.
Caracterice los sensores.
Utilice un baño térmico.
Muestree la temperatura de cada sensor en tiempo real.
De el promedio de la temperatura.
De alarmas a diferentes.
Acceso con un usuario y contraseña especifica.
Modulo de conversión 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 información 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 desviación de 1°
Ing. Juan Carlos Pérez Luján E71
1-03-11
E72
1-03-11
E74
1-03-11
E75
1-03-11
Diagrama de bloques
Ing. Juan Carlos Pérez Luján
Señal de sensor y
amplificación
Tarjeta de
adquisición de
datos
LabJack
Alarmas sonoras y
visuales
Baño térmico y
hielo
PC
LABVIEW
Remedial
1 Calculo del RFC. D
ebe 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 dígitos del año de nacimiento, los 2 dígitos del mes y los 2 dígitos del día de nacimiento, todo en mayúsculas.
El modulo de RFC debe contar con un botón selector para dar inicio al calculo del mismo
Debe mostrar en la casilla del RFC lo siguiente según sea el caso «RFC» o la leyenda «No calculado»
Debe activar con un modulo de calculadora, con las siguientes operaciones suma resta, multiplicación y división, 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 operación y un selector para seleccionar las operaciones.
Debe guardar la información de todos los módulos, RFC, operación, resultado, etc
2 Captura de edades de 5 alumnos y promediarlos.
3 Modulo con selector de 6 operaciones
Suma, Resta, Multiplicación, división, raíz y
convertir segundos a horas,
minutos, segundos
Mostrar el error
Debe de contar con usuario y contraseña para dos personas.
Ing. Juan Carlos Pérez Luján
Remedial
Usando cuatro estaciones de medición (temperatura, presión, flujo y posición crear un VI :
Debe de calibrar la señal del sensor con la temperatura real (0 a 80 °C).
Los sensores de presión (50 a 150 psi), flujo(0 a 30m3/min) y posición(0 a 75mm) se simularan, pero deberán conectarse a una tarjeta de adquisición de datos.
Muestre la lectura de cada sensor en tiempo real.
De el promedio de todas las mediciones.
Alarmas en alta al 10% menor del limite superior de cada magnitud, con salida a un led.
Acceso con un usuario y contraseña especifica.
Modulo de conversión de unidades subVi.
Graficar la temperaturas y el promedio.
El Vi podrá ajustar el disparo de las alarmas.
Debe encender un ventilador cuando una de las temperaturas exceda.
La información debe estar en un archivo de texto.
Tolerancia del sensor +-0.5°.
Ing. Juan Carlos Pérez Luján E71 E72 E74 E75
Remedial
Control de iluminación de una casa.
4 habitaciones, 2 baños, Sala, Comedor, Cocina, Cochera, Patio trasero.
Solo lo pueden modificar con calve de acceso.
El control debe tener dos modos, manual y automático.
Modo manual.
Cada sitio se puede prender y apagar en forma independiente, con un interruptor.
Modo automático.
Estarán encendiendo en forma aleatoria siguiendo lo siguiente:
Habitación1-Baño1
Habitación3-Comedor
Habitación2-Sala
Habitación4-Cochera
Cocina-Baño2-patio trasero.
Cada punto quedara encendida durante 30 segundos y después se apagara.
Ing. Juan Carlos Pérez Luján
Remedial
Realizar un Vi que controle un motor a pasos de cuatro bobinas (a,b,c,d) con los siguientes
puntos. Se
debe
simular el
energizado de las bobinas con la
tarjeta Labjack
con leds
.
Cambi
o de giro.
Control de velocidad analógico con un potenciómetro de un 10Kohm.
Contador de pulsos.
Control de pasos la
bobina de color
azul
debe
estar
energizada para
cada
paso.
Simple (abcd, abcd, abcd, abcd).
Doble
(abcd, abcd, abcd, abcd).
Medio
(abcd, abcd, abcd, abcd, abcd, abcd, abcd, abcd).
Ing. Juan Carlos Pérez Luján
Ejercicio 23 Manipulación de información en forma remota
Comunicar dos computadoras por medio del puerto serial.
La computadora 1 será la que manipule una tarjeta de adquisición de datos que
se encuentre montada en la computadora 2.
Se debe manipular dos salidas digitales y dos entradas analógicas.
Se debe poder manipular las salidas digitales desde la PC1.
La tarjeta debe estar montada en la PC2.
Se debe graficar las entradas analógicas desde la PC1 en una sola grafica.
Ing. Juan Carlos Pérez Luján E71 E72 E74 E75
Comunicación serial El protocolo de comunicación RS232 es conocido como el puerto serial de
las computadoras, este permite la comunicación entre otros dispositivos
tales como otra computadora, el mouse, impresora, para los
microcontroladores, etc.
La comunicación RS232 es de tipo serial, ya que los bits vienen uno detrás
de otro. El protocolo de comunicación más común de los métodos de
comunicaciones el RS232.
Para la comunicación 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 Pérez Luján
Serial Utilizaremos el ejemplo que tiene el LabView para implementar la
comunicación 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 Pérez Luján
Configuración del puerto
Uno de los detalles que se debe de cuidar para el uso del puerto serial es que
configuración del puerto debe de ser la misma en los dos equipos, ya sea
computadora, plc, pic, etc.
Ing. Juan Carlos Pérez Luján
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 administración de la
pantalla frontal.
Una de ellas son los contenedores, los cuales ayudan a simplificar las pantallas
del labview.
Ing. Juan Carlos Pérez Luján
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 Pérez Luján
Ing. Juan Carlos Pérez Luján
Ejercicio 24 comunicación tcp entre varios usuarios
Ejercicio 25 comunicación TCP entre equipos y labjack control de un motor a pasos
Ing. Juan Carlos Pérez Luján
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 iteración 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 iteración del
ciclo a la siguiente.
El Nodo Feedback es otro método usando en LabVIEW para retener información desde una
iteración previa.
Otro método
E71 E72 E74 E75
Registro previo Los registros de desplazamiento son similares a
las variables estáticas en los lenguajes de
programación basados en texto.
Use registros de desplazamiento cuando desee
pasar valores desde iteraciones previas a través
del ciclo a la iteración siguiente.
Un registro de desplazamiento aparece como un
par de terminales, como se muestra a
continuación, directamente opuestos uno con el
otro a los lados verticales del borde del ciclo.
Terminales del registro La terminal del lado derecho del ciclo contiene una flecha hacia arriba y
almacena el dato a la terminación de una iteración.
LabVIEW transfiere el dato conectado al lado derecho del registro a la siguiente
iteración.
Luego que el ciclo se ejecuta, la terminal en el lado derecho del ciclo retorna el
último valor almacenado en el registro de desplazamiento.
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ú rápido.
Ejemplo 26 shift register
E71 E72 E74 E75
Registros de Desplazamiento Apilados Los registros de desplazamiento apilados le
permiten acceder datos desde iteraciones previas
del ciclo.
Los registros de desplazamiento apilados
recuerdan valores desde múltiples 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ú rápido.
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 iteración actual a la
iteración siguiente, como se muestra en la siguiente figura.
Ejemplo
E71 E72 E74 E75
Ejemplo
Ing. Juan Carlos Pérez Luján
E71 E72 E74 E75
Ejercicio 27 Copie el siguiente código.
Observe su funcionamiento.
Ing. Juan Carlos Pérez Luján
Ciclo For
Un For Loop, mostrado a continuación, ejecuta un subdiagrama un número fijo de veces. La
siguiente ilustración muestra un For Loop en LabVIEW, un diagrama de flujo equivalente
de la funcionalidad del For Loop y un ejemplo de pseudocódigo de la funcionalidad del For
Loop.
FOR LOOP
El For Loop está localizado en la paleta Functions»All Functions» Structures.
También 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ú rápido para cambiar un While Loop por un For Loop.
El valor en el terminal de cuenta (una terminal de entrada), mostrado a continuación, indica cuantas veces se repite el subdiagrama.
El terminal de iteración (un terminal de salida), mostrado a continuación, contiene el número de iteraciones realizadas.
For
La terminal de cuenta siempre inicia en
cero. Durante la primera iteración, la
terminal de iteración entrega 0.
For
El For Loop difiere del While Loop en
que el For Loop se ejecuta un número
fijo de veces. Un While Loop para su
ejecución del subdiagrama solo si existe
el valor en el terminal condicional.
Ejemplo 28 Calcula el promedio de un numero determinado de muestras con un intervalo
seleccionado
Ing. Juan Carlos Pérez Luján
E71 E72 E74 E75
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 Pérez Luján
30 Control de iluminación de una casa.
4 habitaciones, 3 baños, Sala, Comedor, Cocina, Cochera, Patio trasero.
Solo lo pueden modificar con calve de acceso.
El control debe tener dos modos, manual y automático.
Modo manual.
Cada sitio se puede prender y apagar en forma independiente, con un
interruptor.
Modo automático.
Estarán encendiendo en forma aleatoria siguiendo lo siguiente:
Habitación1-Baño1 Habitación3-Comedor
Habitación2-Sala Habitación4-Cochera
Cocina-Baño2-patio trasero.
Cada punto quedara encendida durante 30 segundos y después se apagara.
Ing. Juan Carlos Pérez Luján
For El siguiente For Loop genera un número aleatorio cada
segundo durante 100 segundos y muestra los números
aleatorios en un indicador numérico.
Conversión Numérica
LabVIEW puede representar tipos de datos numéricos como enteros con signo y sin signo, valores numéricos de punto flotante o valores numéricos complejos. Normalmente, cuando usted cablea diferentes tipos de representación a las entradas de una función, la función regresa una salida en el formato más largo o amplio. LabVIEW selecciona la representación que emplee más bits. Si el número de bits es el mismo, LabVIEW selecciona sin signo sobre con signo. Por ejemplo, si usted cablea un DBL y un I32 a una función 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 numérico de punto flotante y precisión doble. La entrada menor de la función Multiply muestra un punto gris, llamado punto de coerción, que indica la ocurrencia de la coerción de un número.
Sin embargo, el terminal de cuenta del For Loop trabaja de
manera opuesta. Si usted cablea un valor numérico de
precisión doble y punto flotante al terminal de cuenta de 64
bits, LabVIEW convierte el valor numérico largo a un
entero con signo de 32 bits. Aunque la conversión es
contraria a la conversión estándar normal, esta es
necesaria, ya que un For Loop solo se puede ejecutar un
número entero de veces.
Temporizando un VI
Cuando un ciclo termina de ejecutar una iteración, inmediatamente inicia la ejecución de la siguiente, a menos que alcance una condición de paro. Muy frecuentemente, usted requiere controlar la frecuencia o temporización de la iteración. 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 función 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 función Wait Until Next ms Multiple, mostrada a la izquierda, monitorea un contador en milisegundos y espera hasta que este alcance un múltiplo de la cantidad que usted especifica. Use esta función para sincronizar actividades. Coloque esta función en un ciclo para controlar su velocidad de ejecución. Para que esta función sea efectiva, su tiempo de ejecución del código debe ser menor al tiempo especificado para esta función. La velocidad de ejecución para la primera iteración del ciclo es indeterminada.
La función 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 función garantiza que la
velocidad de ejecución 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 algún 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 continúa la ejecución. Esta función
no le provee tiempo al procesador para realizar otras tareas.
Ejercicio
Realizar varios vi’s para ver la diferencia entre cada uno de los temporizadores.
Realizar cierto ciclo con un código y temporizarlo con las distintas funciones y ver las
diferencias.
Use un registro de desplazamiento sin inicializar para preservar el estado
de la información entre subsecuentes ejecuciones de un VI. La siguiente
figura muestra un registro de desplazamiento sin inicializar.
Ejercicio
Realizar el promedio de los 3 últimos números (simulate signal, random number, cualquier
número), utilizando shift registers y feedback nodes.
Manejo de arreglos
Ing. Juan Carlos Pérez Luján
Arreglos Un arreglo consiste de elementos y dimensiones.
Los elementos son los datos que conforman el arreglo.
La dimensión es la longitud, altura o profundidad de un arreglo.
Ing. Juan Carlos Pérez Luján
Arreglos Un arreglo puede tener una o más dimensiones y tantos como 231, pero solo un
elemento por dimensión, permitidos por memoria.
Se puede construir arreglos con tipos de datos numéricos, booleanos, rutas,
cadenas, formas de onda y clusters.
Considere el uso de arreglos cuando trabaje con una con una colección 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 iteración de un ciclo produce un
elemento del arreglo.
Ing. Juan Carlos Pérez Luján
Datos Relacionados
Algunas veces es benéfico agrupar datos relacionados entre sí. Los arreglos y los clusters se
usan para este propósito. Los arreglos combinan datos del mismo tipo en una estructura de
dato, y los clusters combinan datos de múltiples 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 dimensión es la longitud, altura o profundidad de un arreglo. Un arreglo puede tener una o más dimensiones y tantos como (2 a la 31) – 1 elementos por dimensión, permitidos por memoria. Usted puede construir arreglos con tipos de datos numéricos, Booleanos, rutas, cadenas, formas de onda y clusters. Considere el uso de arreglos cuando trabaje con una colección 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 iteración 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 más
arreglos. También, no puede crear arreglos de controles de subpanel, controles tab,
controles .NET, controles ActiveX, mapas o gráficos 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 número de elementos en cada dimensión y el contenido de cada elemento. Un
arreglo sin inicializar posee dimensiones más no elementos. La Figura siguiente muestra un
control de arreglo 2D sin inicializar. Observe que los elementos están 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 armazón de arreglo en el diagrama
de bloques y ponga una constante de cadena, constante de
número o constante de cluster en el armazón del arreglo.
Puede usar una constante de arreglo para almacenar datos
constantes o como base en la comparación con otro
arreglo. Las constantes de arreglo también 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 tamaño 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 túnel en un arreglo de salida, este
arreglo de salida recibe un nuevo elemento desde cada
iteración del ciclo. Por tanto, los arreglos de salida auto-
indexados siempre son iguales en tamaño al número de
iteraciones. El cable desde el túnel de salida hacia el
indicador de arreglo se vuelve más grueso a medida que
cambia a un arreglo en el borde del ciclo, y el túnel 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
CARACTERÍSTICAS GENERALES
SEÑALES ANALÓGICAS ENTRADA
SEÑALES ANALÓGICAS DE SALIDA
SEÑALES DIGITALES ENTRADA Y SALIDA
CONTADORES
OTRAS SEÑALES..
NATIONAL INSTRUMENTS GENERALMENTE UTILIZA LAS PRIMERAS 4 TIPOS DE SEÑALES EN
SUS TARJETAS DAQ
LAS TARJETAS DAQ PUEDEN TENER LO SIGUIENTE
LAS SEÑALES ANALÓGICAS GENERALMENTE SON UTILIZADAS PARA MEDIR
FENÓMENOS FÍSICOS QUE CONTINUAMENTE VARÍAN ENTRE VALORES,
COMO LO ES LA TEMPERATURA, PRESIÓN, FLUJO.
SEÑALES ANALÓGICAS DE ENTRADA
1. CANALES
2. MUESTRAS
3. BUSQUEDAS
4. MULTIPLEXOR
5. ATERRIZAMIENTO
6. VOLTAJE DIFERENCIAL Y REFERENCIADO
7. GANANCIA
8. RANGO
9. RESOLUCIÓN
10. FRECUENCIA DE MUESTREO
11. FORMAS DE ONDA
12. TRIGGERING
TERMINOS A UTILIZAR CUANDO TRABAJAMOS CON SEÑALES
ANALÓGICAS Y DAQ.
ES LA CONEXIÓN ELÉCTRICA A UNA SEÑAL.
MUESTRA ES LA CONVERSIÓN DE UNA SEÑAL ELÉCTRICA A UN VALOR
DIGITAL.
CANAL y MUESTRA
ES LA CONEXIÓN DE UNA O MAS MUESTRAS, EN UNA O MAS CANALES, HABLANDO DEL MISMO TIEMPO (O CERCA DE EL MISMO TIEMPO EN LA ADQUISICIÓN).
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.
BUSQUEDA (SCAN)
SON USADOS PARA UTILIZAR UN SOLO AMPLIFICADOR DE
INSTRUMENTACIÓN EN VEZ DE UTILIZAR UNO POR CANAL SE UTILIZA UN
MULTIPLEXOR PARA PODER AHORRAR DINERO EN COMPONENTES.
MULTIPLEXORES
PGIA (programable gain
instrumentation amplifier) multiplica un voltaje por un factor programado
por el usuario
INTERNAMENTE SE UTILIZA DE LA SIGUIENTE MANERA
SI NO SABES DONDE UNA SEÑAL ES ATERRIZADA, PRIMERO, TOMA UN MULTÍMETRO, SELECCIONA
MEDICIÓN EN RESISTENCIA, LUEGO MIDE LA RESISTENCIA ENTRE LA TIERRA DE LA SEÑAL Y LA
TIERRA DE LA TARJETA DAQ. LA TIERRA DE LA DAQ ES LA MISMA QUE LA TIERRA DE LA PC. SI EL MULTÍMETRO
INDICA CUALQUIER RESISTENCIA (NO UN CIRCUITO ABIERTO) ENTONCES SI ESTAMOS ATERRIZADOS. SI EL
MULTÍMETRO INDICA CIRCUITO ABIERTO, INVIERTE LAS SEÑALES DEL MULTÍMETRO. SI EN CUALQUIERA DE LOS 2
CASOS MARCA ABIERTO, NUESTRA SEÑAL ESTA FLOTANDO PERO SI MARCA RESISTENCIA ENTONCES
ESTÁ BIEN ATERRIZADO.
TRUCO PARA CHEQUEO DE SEÑAL DE TIERRA
LA TIERRA DE LA SEÑAL QUE ESTAS MIDIENDO,
PUDE SER UN VOLTAJE DIFERENTE QUE LA
TIERRA DE NUESTRA DAQ. ESTO PUEDE CAUSAR
INCONGRUENCIAS EN LA MEDICIÓN FINAL,
COMO EXISTE DIFERENCIA DE POTENCIAL ENTRE
TIERRAS OCASIONA LO QUE SE LLAMA GROUND
LOOP
EN PALABRAS TÉCNICAS ES LA RESISTENCIA QUE TENEMOS EN LA EQUIVALENCIA DE
THEVENING. A MENOS IMPEDANCIA MAS FUERTE ES LA FUENTE DE LA SEÑAL. HAY QUE
MANTENER EL MENOR RANGO DE IMPEDANCIA ENTRE LA FUENTE Y NUESTRO SISTEMA DAQ PARA PODER TENER MEJORES MEDICIONES Y
MENOR ERROR.
IMPENDANCIA DE LA FUENTE DE SEÑAL
GENERALMENTE ESTO NO ES UN PROBLEMA, LAS FUENTES TIPICAS DE SEÑAL COMO RTD, GALGAS, TERMOPARES, TERMISTORES TIENEN UNA MUY BAJA IMPEDANCIA COMPARADA CON LA DE LAS DAQ, LAS CUALES ESTÁN
DISEÑADAS PARA TENER IMPEDANCIAS DE G OHM.
SON LAS DIFERENTES FORMAS DE CONECTAR UNA SEÑAL ANALÓGICA AL
DAQ. UNA CONEXIÓN DIFERENCIAL ES LA QUE LA QUE LA SEÑAL VIENE CON
SU PROPIA REFERENCIA ES DECIR TENEMOS 2 CABLES POR SEÑAL.
CONEXIONES DIFERENCIALES Y REFERENCIADAS
UNA CONEXIÓN REFERENCIADA ES LA CUAL EN LA QUE TENEMOS VARIAS
SEÑALES ANALÓGICAS COMPARTIENDO LA MISMA REFERENCIA CON UN
CABLE POR SEÑAL Y UN COMÚN PARA TODAS LAS SEÑALES ANALÓGICAS.
LA SEÑAL DE ENTRADA TIENE BAJO NIVEL
(MENOS DE 1 VOLT)
LA MEDICIÓN A REALIZAR ESTÁ CONECTADO A
MAS DE 3 METROS
LA SEÑAL DE ENTRADA REQUIERE DIFERENTE
REFERENCIA A TIERRA
LA SEÑAL VIAJA A TRAVÉS DE LUGARES CON
RUIDO (ELÉCTRICO)
CUANDO USAR MEDICIÓN DIFERENCIAL (RECOMENDACIÓN)
RSE (REFERENCIADO A TIERRA)
NRSE (NO REFERENCIADO A TIERRA)
RSE Y NRSE
SIGNIFICA QUE EL NEGATIVO DE LA SEÑAL ESTÁ CONECTADA A LA TIERRA
DE LA COMPUTADORA
RSE
SIGNIFICA QUE LA TIERRA DE LA SEÑAL NO ES LA MISMA QUE LA DE LA
COMPUTADORA
NRSE
ES LA MENOR DIFERENCIA EN UN VALOR MEDIDO POR NUESTRO SISTEMA
(EL MÍNIMO CAMBIO QUE PUEDE DETECTAR).
RESOLUCIÓN
ES SIMPLEMENTE EL NÚMERO DE VECES POR SEGUNDO QUE EL ADC MIDE
EL VALOR DE ENTRADA. COMUNMENTE LLAMADO:
(PARTICIPACIÓN GRUPAL)
TIEMPO DE ESCANEO
LLAMADO FRECUENCIA DE MUESTREO
ES UN EFECTO EL CUAL SE DA CUANDO LA FRECUENCIA DE MUESTREO NO
ES AL MENOS 2 VECES MAYOR A LA FRECUENCIA DE LA SEÑAL A
MUESTREAR O CONVERTIR.
ALIASING
EL ALIASING DA COMO RESULTADO OTRA SEÑAL DE MENOR FRECUENCIA A LA SEÑAL ACTUAL. NO EXISTE MODO DE REPONER O
REPARAR CON ALGO EN LA COMPUTADORA CUANDO YA SE HA HECHO LA CONVERSIÓN. EXISTEN DAQS CON FILTROS ANTI-
ALIASING.
SIMPLEMENTE ES UNA SECUENCIA DE DATOS ANÁLOGOS O DIGITALES QUE
YA FUERON MUESTREADOS.
WAVEFORM
SIGNIFICA UNA SEÑAL DE INICIO PARA LA DAQ (LA USB SI TIENE UN
TRIGGER PFI0).
ESTA SEÑAL INDICA A LA DAQ EL INICIO DE ALGO CUANDO EL VOLTAJE
EXCEDE (BORDE DE DISPARO POSITIVO O NEGATIVO).
TRIGGERING
Comunicación a Través de Múltiples Ciclos
Variables
Variables Globales Funcionales
Condiciones de Ejecución
Sincronizando Transferencia de Datos
Variables
En LabVIEW, es el flujo de datos en lugar del orden secuencial de comandos quien determina el orden de ejecución de los elementos del diagrama de bloques. Por tanto, usted puede crear diagramas de bloques que poseen operaciones simultáneas. Por ejemplo, puede ejecutar dos For Loops simultáneamente 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 operarán 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 través de su túnel. Para asegurarse que los
dos ciclos se ejecuten concurrentemente, remueva el cable.
Para pasar datos entre los subVIs, use otra técnica, tal
como una variable.
En LabVIEW, las variables son elementos del diagrama de bloques que le permiten acceder o almacenar datos en otra localización. La localización actual del dato varía 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 depósitos especiales que usted puede acceder desde múltiples 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 razón, las variables son útiles en las arquitecturas paralelas, pero también poseen ciertos inconvenientes, tal como condiciones de ejecución.
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
Create»Local Variable desde el menú rápido para crear una variable local. Aparece un icono de la
variable local para el objeto en el diagrama de bloques.
También puede seleccionar una variable local desde la paleta Functions y colocarla en el diagrama de bloques. El nodo de variable local, mostrado a
continuación, todavía 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 simultáneamente. Las variables globales son objetos incluidos de LabVIEW. Cuando crea una variable global, LabVIEW automáticamente 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 ejecutándose simultáneamente. Cada VI contiene un While Loop y escribe puntos de datos a una gráfica 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, podría usar una variable local para terminar los ciclos.
Seleccione una variable global, mostrada a continuación, desde la paleta Functions y
colóquela 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 estándar.
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 múltiples objetos de panel frontal. Un VI global con múltiples objetos es más 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 están 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, guárdelo 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ú rápido Select Item. El menú rápido lista todos los objetos del panel frontal en el VI global que poseen etiquetas propias.
También 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 Functions»All Functions»Select 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ú rápido 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 diálogo 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 automáticamente aparece en una nueva librería en su archivo de
proyecto. Guarde la librería. Puede adicionar variables globales a esta librería 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ú rápido 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 ejecución de
flujo de datos deLabVIEW. Los diagramas de bloques pueden convertirse en más difíciles 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 través del
diagrama de bloques o usarlas en lugar del flujo de datos, reduce el desempeño.
Las variables se usan frecuentemente de forma innecesaria. El ejemplo en la Figura de la siguiente diapositiva muestra una aplicación de luz de tráfico implementada como una máquina de estados. Cada estado actualiza la luz para el
siguiente estado de la secuencia de luz. En el estado mostrado, el tráfico de este y oeste poseen una luz verde, mientras el tráfico norte y sur poseen una luz roja. Este estado espera por 4 segundos, como se muestra con la
función Wait (ms).
El ejemplo mostrado en la Figura siguiente cumple exactamente con la misma tarea, pero de forma más eficiente y usando un mejor diseño. Observe que este ejemplo es mucho más fácil 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 después de cada estado sin el uso de una variable. Este ejemplo es menos difícil de modificar para mayor funcionalidad, tal como la adición de señales
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 común 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 iteración a menos que el primer ciclo actualice la variable lo suficientemente rápido.
error
solución
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 leídos o escritos. El uso de esta técnica es similar al uso de una variable global. Este método es normalmente llamado una variable global funcional. La ventaja de este método 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 iteración 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 más complejas de datos, tales como una pila o un buffer de fila. También puede usar las variables globales funcionales para proteger el acceso a recursos globales, tales como archivos, instrumentos y dispositivos de adquisición de datos, que usted no puede representar con una variable global.
Condiciones de Ejecución
Una condición de ejecución es una situación donde la
temporización de eventos o el calendario de tareas puede
afectar involuntariamente una salida o un valor de dato.
Las condiciones de ejecución son un problema común para
programadores que ejecutan múltiples 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 iteración. Si usted ejecuta este programa, el resultado esperado luego de presionar el botón 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 condición de ejecución.
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 rápidamente las tareas para que así efectivamente se ejecuten al mismo tiempo. Las condiciones de ejecución 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 leído.
• 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 condición de ejecución, 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 leída 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 ejecución son difíciles 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 interactúan 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 código con una condición de ejecución puede regresar el mismo resultado miles de veces en las pruebas, pero incluso puede regresar un resultado diferente, lo cual puede ocurrir cuando el código esté en uso.
La mejor forma para evitar una condición de ejecución es usar las siguientes
técnicas:
Controlar y limitar los recursos compartidos.
Identificar y proteger las secciones críticas dentro de su código.
Especificar el orden de ejecución.
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 María José
E75 ALFREDO
Ing. Juan Carlos Pérez Luján
Notas para mejorar
Hacer un conversor de binario a decimal con arreglos.
Utilizar time loop para generar ciclos.
Comunicación en paralelo.
Ing. Juan Carlos Pérez Luján
Examen
Ing. Juan Carlos Pérez Luján
Presentación del problema
Escribe aquí tu pregunta.
(Ésta es la pregunta que responde tu experimento .)
Información general del proyecto
Escribe aquí una breve introducción o resumen
de tu proyecto.
Investigación
Resume aquí tu investigación 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 propósito.
Variable dependiente: la medición de los cambios
observados a causa de la variable independiente. Es
importante decidir cómo se va a medir el cambio.
Hipótesis
Tomando como base la investigación que has realizado, escribirás una
respuesta o una solución (tu suposición más fundamentada) para tu
pregunta. Asegúrate de escribir tu hipótesis antes de comenzar el
experimento.
Materiales
Escribe una lista detallada de los artículos 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 fotografías de tus experimentos.
Datos u observaciones
Resulta más fácil comprender los datos si se colocan en una
tabla o en un gráfico. Crea un gráfico en Microsoft Excel e
impórtalo aquí.
Asegúrate de que todos los datos están claramente etiquetados.
Conclusión
Escribe un breve resumen de los descubrimientos en función de los
resultados de los experimentos. Es necesario indicar si los datos
refuerzan la hipótesis y explicar las razones para que lo hagan o no.
Obras citadas
No olvides incluir las fuentes de información en formato
impreso y electrónico y clasificarlas en orden alfabético.