Professional Documents
Culture Documents
Objetivos
• Comprender los componentes de un instrumento virtual
• Introducir LabVIEW y las funciones comunes de LabVIEW
• Crear una subrutinas en LabVIEW
• Trabajar con Arreglos, Clusters y Estructuras
• Desarrollo en arquitecturas de programación.
Aplicaciones de la Instrumentación Virtual
Diseño
◦ Procesamiento de Señal e Imagen Una Sola Plataforma de Desarrollo Gráfico
◦ Programación Integrada de Sistemas
(PC, DSP, FPGA, Microcontroladores) Diseño Prototipo Desarrollo
◦ Creación de Prototipos y Simulación
Control
◦ Control Automático y Sistemas Dinámicos
◦ Mecatrónica y Robótica
◦ Programación de PAC´s
Mediciones
◦ Circuitería y Electrónica
◦ Medidas e Instrumentación
Sistema de Desarrollo Gráfico de LabVIEW
Ambiente de Programación Gráfico
Compilación de código para múltiples SO y dispositivos.
Utilizable en una amplia gama de aplicaciones
Plataformas Integradas
High-Speed Multifunction
Digitizers Data Acquisition Control de
Instrumento
Acondicionamiento
de Señal y
Conmutación
Unidad Bajo
Prueba
¿Programas en LabVIEW y otros lenguajes es los mismo?
• Pareciera que no, pero en realidad los planteamientos generales son los mismo:
Panel frontal
• Controles = entradas
• Indicadores = salidas
Diagrama de bloque
• Programa de acompañamiento
para el panel frontal
• Componentes “cableados”
entre si
Panel frontal de VI
Barra de herramientas
del panel frontal Icono
Control
Booleano Leyenda del
gráfico
Gráfico de
Forma de onda
Leyenda de
Leyenda de
la escala
La grafica
VI Diagrama de bloque
Barra de
Herramientas
Del diagrama de Funcion de
Bloque dividir
SubVI
Terminal
grafica
Cableado
de
datos
Estructura
While loop Constante Funcion de Terminal de control
numerico tiempo booleano
Ejemplo 1
Paleta de controles y funciones
Paleta de funciones
Paletas de control (Ventana de diagrama de bloque)
(Ventana del panel frontal)
Click derecho
Paleta de Herramientas
• Paleta flotante
• Utilizado para operar y modificar
objetos en el panel frontal y en el
diagrama de bloques.
Herramienta de selección automatica
Redimensionamiento de objetos
de panel frontal (Resize Objects)
VIs Expreso, VIs y Funciones
• VIs Expreso: VIs interactivos con pagina de dialogo
configurable
• VIs estándar: VIs modulares y personalizables mediante
cableado
• Funciones: Elementos fundamentales de operación de
LabVIEW; no hay panel frontal o diagrama de bloque Funcion
VI Expreso VI Estandar
Ejemplo :Abra y Ejecute un Instrumento
Virtual Buscador de Ejemplos
Creando un VI
Ventana de Panel Frontal
Terminales Terminales
de de
Control Indicador
Creando un VI – Diagrama de Bloques
Consejos Para Conectar – Diagrama de Bloques
“Punto Caliente” de Cableado Haga Clic para Seleccionar los Cables
Indicador
Grafico
Control
Numérico Conversión:
°F=(9/5)(°C)+32
Señal del sensor
20°C/volt
Programando el Flujo de Datos
• El diagrama de bloque se ejecuta
dependiendo del flujo de los datos;
el diagrama de bloques NO se
ejecuta de izquierda a derecha
Contexto de la Ayuda
• Ayuda en línea
• Congelar Ayuda
• Ayuda del Diagrama Simple/Complejo
• Ctrl + H
Referencias en Línea
• Todos los menús en línea
• Clic en las funciones del diagrama para tener acceso directo a
la información en línea.
Técnicas para Eliminar Errores
• Encontrando los Errores
Haga clic en el botón de “correr” que esta roto;
Aparece una ventana mostrando los 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.
.
Ciclo FOR
Estructura CASE
• Que es un subVI?
• Elaboración de un icono
y un conector para un
subVI
• Utilizando un VI como
un subVI
Nodos del Diagrama de Bloques
Icono Nodo Expandible Nodo Expandido
• VI de Generador de Funciones
• El mismo VI, visto en tres maneras
diferentes.
• El campo amarillo designa un VI Estándar.
• El campo azul designa un VI Expreso
SubVIs
• Un SubVI es un VI que puede ser utilizado dentro de
otro VI
• Similar a una subrutina
• Ventajas
– Modular
– Fácil para eliminar errores
– No tiene que crear códigos
– Requiere menos memoria
Las Funciones de LabVIEW y los SubVIs operan
como Funciones en otros lenguajes
Función de Pseudo Código Llamando Programa con Pseudo
Código
function average (in1, in2, out)
main
{
out = (in1 + in2)/2.0;
{
} average (in1, in2, pointavg)
}
Antes de
que Inicie Primera Segunda Ultima
el Ciclo Iteración Iteración Iteración
Adquisición de Datos en LabVIEW
NI-DAQmx
NI-DAQ Tradicional Controlador (Driver) de
VIs específicos para
siguiente generación:
realizar:
• VIs para ejecutar una
• Entrada Análoga
tarea
• Salida Análoga
• Un serie de VIs para
• I/O (entrada/salida)
todos los tipos de
Digital
mediciones
• Operaciones de conteo
DAQ – Adquisición De Datos
NI-ELVIS
SCB-68
Ejemplo– Adquisición de Datos Simples
Complete el VI de conversión de °C a °F (Conversion C a
F.vi), y después cree el VI Termómetro (Thermometer.vi).
Sección IV – Ciclos y Gráficas
• For Loop (Ciclo Para)
• While Loop (Ciclo Mientras)
• Gráficas
• Multiplots
Ciclos
• Ciclo While
– Tiene una Terminal de Iteración
– Siempre corre al menos una vez
– Corre de acuerdo a la Terminal
Condicionante
• Ciclos For
– Tiene una Terminal de Iteración
– Corre de acuerdo a la entrada
N de la Terminal de Conteo
Ciclos (cont.)
1. Seleccionar el ciclo 2. Encerrar código que va a ser repetido
Colóquelo en la pantalla.
Agregando un Arreglo (cont.)
Situé el objeto de datos dentro del shell (Ej. Control Numérico)
Creando un Arreglo con un Ciclo
• Los ciclos acumulan arreglos en sus limites.
Creando Arreglos Bidimensionales (2D)
Construyendo Arreglos con Ciclos (Auto-Indexando)
• Los ciclos pueden Auto-Indexado Habilitado
El cable engrosa su tamaño
acumular arreglos auto
indexados en sus bordes
• Los ciclos For se auto
Arreglo de 1D
indexan por defecto
• Los ciclos While sacan 0 1 2 3 4 5
solo el valor final por
Auto-Indexado Deshabilitado
defecto
El cable conserva su
• Un clic derecho en el tamaño
túnel habilita /
deshabilita el auto
indexado Solo un valor (última
5 iteración) pasa fuera del
ciclo
Funciones de los Arreglos – Lo Basico
Functions >> All Functions >> Array
Funciones de los Arreglos – Construcción de un Arreglo
¿Cómo tomo decisiones en LabVIEW?
1. Estructuras Caso (case)
(a) (b)
2. Selección (select)
(c)
Repaso de los tipos de Datos hallados en LabVIEW
¿Cómo controlo el Tiempo de un Ciclo?
1. Ciclo de Retardo de Tiempo (Time Delay)
• Configura el VI Expres Time Delay para segundos de espera en
cada iteración del ciclo (funciona en ciclos For y While).
2. Ciclos Temporizados
• Configura el ciclo especial temporizado While para un retraso en
tiempo deseado.
Antes de
que Inicie Primera Segunda Ultima
el Ciclo Iteración Iteración Iteración
Variables Locales
• Las Variables Locales permiten que los datos pasen a través de los
ciclos.
• Un solo control o indicador puede ser escrito o leído por más de
una ubicación en el programa
– Las Variables Locales rompen con el paradigma de que el flujo de datos
debe ser usado en un orden concreto.
Estructuras de Secuencia
• En la subpaleta de control de ejecución (Execution
Control) de la paleta de funciones.
• Ejecuta diagramas secuencialmente.
• Presionar botón derecho del mouse para agregar un
nuevo cuadro (frame).
Ejemplo:
• Realizar un programa para indicar las
secuencia de encendido de las luces de
un semáforo.
Dicha función devuelve un número de referencia (refnum), este parámetro es un identificador de archivo
generado cuando se crea un archivo o se abre uno ya existente, identifica el archivo en la operaciones
subsiguientes.
Este número de referencia hay que pasárselo de una función File I/O a otra.
un directorio y escribir el nombre del archivo.
Modelos para Programación de Archivos E/S
(Las etiquetas de la
terminal reflejan los
Bundle
tipos de datos)
(Agrupar)
Bundle by name
(Agrupar por nombre)
Funciones del Cluster
Unbundled
(separar)
Errores de Cluster
Estructuras Caso
• En la subpaleta de estructura de las paleta de funciones.
• Encerrar los nodos o arrastrarlos hacia adentro de la
estructura.
• Colocados como un juego de cartas (naipes), solo un caso
es visible a la vez.
• Arquitectura VI de un simple
• Arquitectura de un VI General
• Arquitectura de maquina de estado
Arquitectura de un VI simple
• VI funcional que produce resultados al ser ejectado
– No tiene opciones para “comienzo” o “fin”
– Adecuado: para pruebas de laboratorio, cálculos
• Ejemplo: Convertir C a F.vi
Arquitectura de un VI General
• Tres pasos principales
– Inicio
– Aplicación principal
– Cierre (shutdown)
Máquinas de estado
Adquisición
Estado Muestras
presente
completas
Entrada
Filtrado
Estado
siguiente
Tiempo
Inicio
Estado
•Inicialización de 1
variables.
• Cerrar archivos.
• Abrir archivos.
• Cerrar puertos de
• Abrir y configurar
comunicación.
puertos de
comunicación. Estado
3
Case
Stop
While
Fin
Máquinas de estado
Inicio
Estado Entrada 1
1
Estado
2
Estado Entrada 2
6 Entrada 4
Entrada 3
Estado
3
Estado
5
Estado
4
Fin
STOP
Arquitectura de Maquina de Estado
• Ventajas
– Puede ir de cualquier estado a otro
– Fácil de modificar y depurar
• Desventajas
– Se pierden eventos si dos ocurren al
mismo tiempo
Pasos:
0: Inicio (Startup)
1: Ocio (Idle)
2: Evento 1
3: Evento 2
4: Cierre (Shutdown)
Ejemplo – Máquina de Estado
Ejercicio 5 – Aplica lo aprendido
•Después que el
archivo a sido grabado,
puede ser reabierto y
personalizado en
cualquier editor HTML
El estándar RS-232
• El RS232 ó Recommended Standard 232, está definido en las especificaciones ANSI
(American National Standard Institution) como la interface entre un equipo terminal de
datos y un equipo de comunicación de datos empleando un intercambio en modo serie
de datos binarios.
• Normalmente, los dispositivos que intervienen en una comunicación serie son el Equipo
Terminal de Datos (ETD), que suele ser una PC y el Equipo de Comunicación de Datos
(ECD) que suele ser un modem ó un periférico.
Utilización del puerto serie mediante
LabVIEW.
• LabVIEW proporciona herramientas de gran utilidad para el
manejo del puerto serie. Todas las funciones que son
necesarias a la hora de realizar una comunicación serie entre
la PC y un periférico se encuentran ya programadas en forma
de Instrumentos Virtuales (VIs). De esta forma, la utilización
del puerto serial es transparente al programador de LabVIEW.
• Es importante tener en cuenta que los pasos a
seguir al utilizar el puerto serie los siguiente:
• Una vez terminada la transferencia, los datos recibidos quedan almacenados en el buffer de
recepción, en espera de que sean leídos
• Ahora bien en el momento en que se quiera acceder a la información recibida para poder tratarla,
es necesario programar un acceso de lectura al puerto.
• Esta lectura se realiza con el VI VISA Read
Escritura del puerto serie.
• De la trama obtenida, sacar el TAG ID y compararlo con uno conocido, si son iguales,
almacenar en un archivo el ID, la hora y la fecha e indicar con una variable boolena que el ID
coincide.
Byte Contenid Comentario Descripción
o
0 01 Start Mark
1 09 Length 9 bytes seguidos, excluyendo BCC
2 0C Status Tag valido
3 ** Data Field (1) Tag ID (LSB)
4 ** Data Field (2)