Post on 09-Dec-2015
description
Instrumentación Virtual con LabVIEW
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Objetivos del Curso
• 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.• Publicar VIs en el navegador
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
El Enfoque de la Instrumentación Virtual.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Aplicaciones de la Instrumentación Virtual
Diseño◦ Procesamiento de Señal e Imagen◦ Programación Integrada de Sistemas
(PC, DSP, FPGA, Microcontroladores)◦ 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
DiseñoDiseño PrototipoPrototipo DesarrolloDesarrollo
Una Sola Plataforma de Desarrollo GráficoUna Sola Plataforma de Desarrollo Gráfico
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Ambiente de Programación GráficoCompilación de código para múltiples SO y dispositivos.Utilizable en una amplia gama de aplicaciones
Sistema de Desarrollo Gráfico de LabVIEW
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
DepartamentoDepartamentode Ingenieríade IngenieríaMecatrónicaMecatrónica
DeprtamentoDeprtamentode Ingenieríade IngenieríaMecatrónicaMecatrónica
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.6
Plataformas Integradas
High-SpeedDigitizers
High-ResolutionDigitizers and DMMs
Multifunction Data Acquisition
DynamicSignal Acquisition
E/S Digital
Control deInstrumento
Counter/Timers
Visión de Máquina Motion
ControlDistributed I/O andEmbedded Control
PC Portátil PDAPC de EscritorioInstrumentación Modular PXI
Acondicionamiento de Señal y Conmutación
Unidad BajoPrueba
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
¿Programas en LabVIEW y otros lenguajes es los mismo?
• Pareciera que no, pero en realidad los planteamientos generales son los mismo:
• Definir el tipo de dato de las variables antes de usarlas.• Cada variable depende de un solo tipo de datos.• No todas las operaciones son aplicables a todos los datos.
Tipo de dato: Conjunto de valores que puede asumir una variable. Existen dos tipos de variables: Las variables globales, aquellas a las que se puede acceder o
llamar desde cualquier parte del programa y variables locales.Clase de datos: Tipo escalar (números enteros, reales, booleanas, etc.) y Tipo estructurado (arrays
y clusters).
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Tipo de datos en LabVIEW.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Sección I
• Términos de LabVIEW • Componentes de aplicación de LabVIEW• Herramientas de programación de LabVIEW • Crear una aplicación en LabVIEW
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Panel frontal• Controles = entradas• Indicadores = salidas
Diagrama de bloque• Programa de acompañamiento
para el panel frontal• Componentes “cableados”
entre si
Programas de LabVIEW se llaman instrumentos virtuales (VIs)
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Panel frontal de VIBarra de herramientas del panel frontal
Leyenda del gráfico
ControlBooleano
Gráfico deForma de onda
Icono
Leyenda deLa grafica
Leyenda de la escala
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
VI Diagrama de bloque
Cableadodedatos
Terminal grafica
SubVI
EstructuraWhile loop
Barra deHerramientasDel diagrama de Bloque
Funcion de dividir
Constantenumerico
Funcion de tiempo
Terminal de controlbooleano
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Paleta de controles y funciones
Paletas de control (Ventana del panel frontal)
Paleta de funciones (Ventana de diagrama de bloque)
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Herramienta de operación
Herramienta de posicionamiento
y redimensión
Herramienta de etiquetado
Herramienta de cableado
Herramienta de menú (atajo)
• Paleta flotante• Utilizado para operar y modificar
objetos en el panel frontal y en el diagrama de bloques.
Herramienta de desplazamiento
Herramienta de punto de paro
Herramienta de prueba
Herramienta para copia de color
Herramienta para colorear
Paleta de Herramientas
Herramienta de selección automatica
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Botón de ejecución (Run)
Botón de ejecución continua(Continuous Run)
Cancelación de ejecución(Abort Execution)
Botón de pausa/continuación
Configuración de textos(Text Settings)
Alineamiento de objetos(Align Objects)
Distribución de objetos(Distribute Objects)
Reordenamiento
Redimensionamiento de objetosde panel frontal (Resize Objects)
Botón de ejecución resaltada(Highlight Execution) Botón de entrada al ciclo(Step Into)
Botón sobre (Step Over)
Botón de salida del ciclo(Step Out)
Botones adicionales en el diagrama de la barra de herramientas
Barra de herramientas de Estado
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
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
VI ExpresoVI Expreso VI EstandarVI Estandar
FuncionFuncion
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Ejemplo :Abra y Ejecute un Instrumento Virtual Buscador de Ejemplos
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Terminales de
Control
Ventana de Diagrama de Bloques
Ventana de Panel Frontal
Terminales de
Indicador
Creando un VI
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Creando un VI – Diagrama de Bloques
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Consejos Para Conectar – Diagrama de Bloques
“Punto Caliente” de Cableado
Limpiando el CableadoUtilice la Ruta Automática del Cable
Haga Clic para Seleccionar los Cables
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Ventana del Panel FrontalVentana del Panel Frontal
Ejemplo: Creando un VIEjemplo: Creando un VI
ControlControlNuméricoNumérico
Indicador Indicador GraficoGrafico
Conversión:Conversión:°F=(9/5)(°C)+32°F=(9/5)(°C)+32
Señal del sensorSeñal del sensor2020°C/volt°C/volt
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
• 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 TODOS los terminales de entrada.
• Los nodos suministran datos a todos los terminales de salida cuando termina.
Programando el Flujo de Datos
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Opciones de Ayuda
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.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Nodos de Formula• En la subpaleta de Estructuras (Structures). • Implementa ecuaciones complicadas.• Variables creadas en los márgenes • Nombres de variables son sensibles (mayúsculas/minúsculas)• Cada declaración debe de terminar con un punto y coma(;)• La ventana de ayuda muestra las funciones disponibles.
Note el Punto y coma
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Técnicas para Eliminar Errores• Encontrando los Errores
• Resaltar la Ejecución
• Herramienta de Prueba
Haga clic en el botón de “correr” que esta roto;Aparece una ventana mostrando los errores
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.
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.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Sección II – SubVIs
• Que es un subVI?• Elaboración de un icono
y un conector para un subVI
• Utilizando un VI como un subVI
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
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
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
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
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
SubVI Diagrama de BloquesSubVI Diagrama de Bloques
Las Funciones de LabVIEW y los SubVIs operan Las Funciones de LabVIEW y los SubVIs operan como Funciones en otros lenguajescomo Funciones en otros lenguajes
Función de Pseudo CódigoFunción de Pseudo Código
function average (in1, in2, out)function average (in1, in2, out){{out = (in1 + in2)/2.0;out = (in1 + in2)/2.0;}}
Llamando Programa con Pseudo Llamando Programa con Pseudo
mainmain{{average (in1, in2, pointavg)average (in1, in2, pointavg)}}
Llamando al VI en el Llamando al VI en el Diagrama de BloquesDiagrama de Bloques
CódigoCódigo
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Icono y Conector
• Un icono representa un VI en otro diagrama de bloque
• El conector muestra terminales disponibles para transferir datos
Icon
Connector
Terminals
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
SubVIs Sub VIsSub VIs
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Pasos para crear un SubVI
• Crear el icono• Crear el conector• Asignar terminales• Salvar el VI• Insertar el VI dentro del VI principal
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Crear el Icono• Haga click derecho sobre el icono en el
diagrama de bloque o panel frontal
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Crear el Conector
Haga click derecho sobre el icono (solamente en el panel frontal)
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Asignar Terminales
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Salvar el VI
• Escoja un sitio o un fólder fácil de recordar• Organizar por funcionalidad
-salvar los VIs similares en un mismo directorio (Ej. Utilidades matemáticas)
• Organizar por aplicación– Salvar todos los VIs Usados para una Aplicación Especifica dentro de
un directorio o un archivo de librería (Ej. Lab 1 – Frecuencia de respuesta)
• Archivo de librería (.llbs) combina todos los VIs en un solo archivo, ideal para transferir aplicaciones enteras a través de computadoras
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Insertar el SubVI dentro de un VI Principal
Acceder subVIs creados por el usuarioFunciones >> All Functions >> Seleccione
un VI o arrastre el icono hasta el diagrama deseado
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Ejemplo:
• Crear un SubVI del convertidor de temperatura.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Tips para trabajar en LabVIEW
• Atajos desde el teclado– <Ctrl-H> – Activa/Desactiva la Ventana de Ayuda– <Ctrl-B> – Remueve todos los cables rotos del diagrama de bloques– <Ctrl-E> – Cambiar entre el Panel Frontal y el Diagrama de Bloques– <Ctrl-Z> – Deshacer cambios – Undo (también disponible en el menu
de edición)• Herramientas » Opciones… – Establecer Preferencias en
LabVIEW• Propiedades del VI – Configurar la Apariencia del VI,
Documentación, etc.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Adquisición de Datos en LabVIEW
NI-DAQ TradicionalVIs específicos para realizar:• Entrada Análoga• Salida Análoga • I/O (entrada/salida)
Digital • Operaciones de conteo
NI-DAQmxControlador (Driver) de siguiente generación: • VIs para ejecutar una tarea• Un serie de VIs para todos los tipos de mediciones
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
DAQ – Adquisición De Datos
Adquisición de temperatura utilizando el Asistente de DAQ (DAQ Assistant)
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Terminología De la Adquisición De Datos
• Resolución – Determina cuantos diferentes cambios de voltajes pueden ser medidos– Resolución mas grande Una representacion mas exacta de la
señal
• Rango – Voltajes mínimos y máximos– Rango mas pequeño Una representación mas precisa de la
señal
• Gain (ganancia) – Amplifica o atenúa la señal para un mejor ajuste del rango
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Conexiones de Hardware
BNC-2120
SCB-68
NI-ELVIS
SC-2075
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
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).
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Sección IV – Ciclos y Gráficas
• For Loop (Ciclo Para)• While Loop (Ciclo Mientras) • Gráficas• Multiplots
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
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
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Ciclos (cont.)1. Seleccionar el ciclo 2. Encerrar código que va a ser repetido
3. Arrastrar nodos adicionales y luego cablear
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Gráficas
Gráfica de forma de onda – indicador númerico especial que puede mostrar una historia de valores
Controles >> Indicadores de Gráficas >> Gráfica de forma de onda
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Cableando Datos a las Gráficas
Grafica de diagrama simple Grafica de diagrama múltiple
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Ejemplo – Usando ciclos
Estudiantes construyen un VI con un Ciclo.vi.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Sección V – Arreglos & Manejo de Archivo (File I/O)
• Construir arreglos manualmente• Dejar que LabVIEW construya arreglos
automáticamente• Escribir a un archivo de hoja de cálculo (spreadsheet)• Leer desde un archivo de hoja de cálculo (spreadsheet)
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Agregando un Arreglo al Panel FrontalDesde la sub-paleta de Controls >> All Controls >> Array and Cluster, seleccione el Array Shell
Colóquelo en la pantalla.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Agregando un Arreglo (cont.)
Situé el objeto de datos dentro del shell (Ej. Control Numérico)
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Creando un Arreglo con un Ciclo
• Los ciclos acumulan arreglos en sus limites.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Creando Arreglos Bidimensionales (2D)
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
• Los ciclos pueden Los ciclos pueden acumular arreglos auto acumular arreglos auto indexados en sus bordesindexados en sus bordes
• Los ciclos Los ciclos For For se auto se auto indexan por defectoindexan por defecto
• Los ciclos Los ciclos WhileWhile sacan sacan solo el valor final por solo el valor final por defectodefecto
• Un clic derecho en el Un clic derecho en el túnel habilita / túnel habilita / deshabilita el auto deshabilita el auto indexadoindexado
Construyendo Arreglos con Ciclos (Auto-Indexando)
El cable engrosa su tamañoEl cable engrosa su tamaño
El cable conserva su El cable conserva su tamañotamaño
Auto-Indexado DeshabilitadoAuto-Indexado Deshabilitado
Auto-Indexado HabilitadoAuto-Indexado Habilitado
Solo un valor (última Solo un valor (última iteración) pasa fuera del iteración) pasa fuera del ciclociclo
Arreglo de 1DArreglo de 1D
0 1 2 3 4 50 1 2 3 4 5
55
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Funciones de los Arreglos – Lo Basico
Functions >> All Functions >> ArrayFunctions >> All Functions >> Array
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Funciones de los Arreglos – Construcción de un Arreglo
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
¿Cómo tomo decisiones en LabVIEW?
1. Estructuras Caso (case)
2. Selección (select)(a)(a) (b)(b)
(c)(c)
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Repaso de los tipos de Datos hallados en LabVIEW
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
¿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.
Ciclo TemporizadoCiclo TemporizadoRetardo de TiempoRetardo de Tiempo
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Ejemplo:
• Realizar un programa generar la secuencia de movimiento de un motor de pasos.
• Colocar un dial (control numérico) para poder variar el tiempo entre cada dato.
• Colocar un control booleano para el cambio del sentido de giro del motor.
Valor decimalValor decimal Valor Valor HexadecimalHexadecimal
33 00110011
66 01100110
1212 11001100
99 10011001
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Gráficos
• Seleccionados desde la Paleta de Controles del Menu Controls >> All Controls >> Graphs
Grafico de Forma de Onda Grafico de Forma de Onda (Waveform Graph)(Waveform Graph) – Grafica un – Grafica un arreglo de numeros en contra de sus arreglo de numeros en contra de sus indicesindicesGrafico XY Expreso (Express XY Grafico XY Expreso (Express XY Graph)Graph) – Grafica un array en contra – Grafica un array en contra de otrode otroGrafico de Forma de Onda Digital Grafico de Forma de Onda Digital (Digital Waveform Graph)(Digital Waveform Graph) – – Grafica bits de datos binariosGrafica bits de datos binarios
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Gráficos
Haga Clic Derecho en la grafica y seleccione Properties (propiedades) para poder personalizar interactivamente
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Ejercicio 5 – Usando Graficos de Forma de Onda (Waveform )
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Shift RegisterShift Register• • Disponible en los bordes derecho e izquierdo de los ciclos y Disponible en los bordes derecho e izquierdo de los ciclos y
estructurasestructuras• • Con un clic derecho en el borde y selecciona Add Shift Con un clic derecho en el borde y selecciona Add Shift
Register Register • • El terminal derecho guarda el dato al terminar la iteraciónEl terminal derecho guarda el dato al terminar la iteración• • La terminal izquierda provee el dato al comenzar la nueva La terminal izquierda provee el dato al comenzar la nueva
iteracióniteración
Antes deAntes deque Inicieque Inicieel Ciclo el Ciclo
PrimeraPrimeraIteraciónIteración
SegundaSegundaIteración Iteración
UltimaUltimaIteración Iteración
Valor 3Valor 3ValorValorInicialInicial
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Variables LocalesVariables Locales• Las Variables Locales permiten que los datos pasen a través de los Las Variables Locales permiten que los datos pasen a través de los ciclos.ciclos.• Un solo control o indicador puede ser escrito o leído por más de Un solo control o indicador puede ser escrito o leído por más de una ubicación en el programauna ubicación en el programa
– Las VariablesLas Variables Locales rompen con el paradigma de que el flujo de datos Locales rompen con el paradigma de que el flujo de datos debe ser usado en un orden concreto.debe ser usado en un orden concreto.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
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).
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Ejemplo:
• Realizar un programa para indicar las secuencia de encendido de las luces de un semáforo.
La luz verde debe durar 5 segundos y la luz ámbar 3 segundos.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Almacenamiento de datos en un archivo.• Para guardar datos en un archivo nuevo se han de seguir
tres pasos:
1. Crear un archivo nuevo2. Escribir los datos en el archivo3. Cerrar el archivo• También podemos abrir uno ya existente y añadir
información al final de ese fichero o sobrescribir su contenido.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
• Para crear un archivo nuevo, hay que proporcionar el nombre del archivo y de la localización del archivo (pathname) dentro del VI.
• Indicar que función se quiere hacer con el archivo: Abrir Abrir/crear Crear/remplazar Crear Abrir (solo lectura)
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.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Modelos para Programación de Archivos E/SModelos para Programación de Archivos E/S
Abre / Crea /Abre / Crea /RemplazaRemplazaArchivosArchivos
Lee y / oLee y / oEscribe Escribe ArchivosArchivos
CierraCierraArchivosArchivos
BuscaBuscaErroresErrores
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Recuperación de datos desde un archivo.
• Cuando se lee desde un archivo, normalmente lo abrimos, leemos el contenido en forma de string o cualquier otro tipo de datos y cerramos el fichero.
• Los datos se deben leer con el mismo formato con el que se almacenaron.
• Indicar el número de datos a leer del archivo.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Manejo de Archivos (File I/O)
Manejo de Archivos – transferir datos a y desde archivos
- Los Archivos pueden ser binarios, texto u hojas de calculo
- Escritura/Lectura de Archivos de Medición de LabVIEW (LabVIEW Measurements – *.lvm)
Escritura en Archivo LVMEscritura en Archivo LVM Lectura de un Archivo LVM Lectura de un Archivo LVM
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Escritura de Archivos de Medición LabVIEW (LabVIEW Measurement)• Incluye las funciones de apertura, escritura, cierre y manejo de errores• Maneja el formateo de cadenas de caracteres (strings) ya sea con
delimitación por medio de tab o de coma• La función de concatenar señales es usada para combinar datos en
datos de tipo dinámico
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Ejemplo– Analizando e Introduciendo DatosLos Estudiantes construyen el VI Logger de Temperatura.vi
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Ejemplo:
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Sección VII – Cadenas de Caracteres, Clusters, & Manejo de Errores
• Cadenas de caracteres• Creando Clusters• Funciones de los Clusters• I/O Error
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Cadenas de caracteres• Una cadena es una secuencia de caracteres desplegables o
no desplegables (ASCII)• Tienen muchos usos – despliegue de mensajes, Control de
instrumentos, Archivos de entrada y Salida (I/O)• El controlador/indicador de cadenas se encuentra en
Controls »Text Control o Text Indicator
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Clusters • Estructura de Datos que agrupa datos juntos.
• Los Datos pueden ser de diferentes tipos.
• Semejante a una estructura (struct) en C++
• Los elementos deben de ser ya sea, todos Controles o todos Indicadores
• Se puede considerar como un conjunto de alambres agrupados en un cable.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Creando un Cluster1. Seleccionar la pre-forma (shell) del Cluster
Controls >> All Controls >> Array & Cluster
2. Colocar Objetos dentro de la pre-forma (shell)
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Funciones del Cluster• Están ubicadas en la subpaleta de Cluster de la
paleta Functions>>All functions.• También puede ser accesada haciendo clic con el
botón derecho del mouse en la terminal del Grupo.
Bundle(Agrupar)
(Las etiquetas de la terminal reflejan los tipos de datos)
Bundle by name(Agrupar por nombre)
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Funciones del Cluster
Unbundled(separar)
Unbundled by name(separar por nombre)
Ejemplo de un Cluster separado (Unbundled Cluster)
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Errores de Cluster
• Los Errores de Cluster contienen la siguiente información:– Booleano (Boolean) Para reportar si surgió algún error– Enteros (Integer) Para reportar errores específicos de códigos– Cadena (String) Para brindar información acerca del error
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Técnicas de Manejo de Errores
• La información de un Error es transmitida de un subVI al siguiente• Si un Error ocurre en un subVI, todos los subVI subsecuentes no
serán ejecutados de la manera usual• Los errores de Cluster contienen todas las condiciones del Error• Manejo automático de Errores
Errores de Cluster
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
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.
Functions >> Execution control
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Sección X – Arquitectura Básica de Programación
• Arquitectura VI de un simple• Arquitectura de un VI General• Arquitectura de maquina de estado
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
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
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Arquitectura de un VI General
• Tres pasos principales – Inicio– Aplicación principal– Cierre (shutdown)
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Estado Estado presentepresente
Estado Estado siguientesiguiente
Entrada Entrada
AdquisiciónAdquisición
FiltradoFiltrado
Muestras Muestras completas completas
Máquinas de estado
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Estado Estado 11
Estado Estado 33
FinFinFinFin
InicioInicioInicioInicio
WhileWhileStopStop
•Inicialización de Inicialización de variables.variables.• Abrir archivos.Abrir archivos.• Abrir y configurar Abrir y configurar puertos de puertos de comunicación.comunicación.
• Cerrar archivos.Cerrar archivos.• Cerrar puertos de Cerrar puertos de comunicación.comunicación.
TiempoTiempo
CaseCase
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Máquinas de estado
Estado Estado 11
Estado Estado 22
Estado Estado 33
Estado Estado 44
Estado Estado 55
Estado Estado 66
FinFinFinFin
InicioInicioInicioInicio
Entrada 1Entrada 1
STOPSTOP
Entrada 2Entrada 2
Entrada 3Entrada 3
Entrada 4Entrada 4
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
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 13: Evento 24: Cierre (Shutdown)
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Ejemplo – Máquina de Estado
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Ejercicio 5 – Aplica lo aprendido
Almacenar en archivo .txt:Almacenar en archivo .txt:Temp Tmin Tmax Tipo de Temp Tmin Tmax Tipo de
AlarmaAlarma
Tomar una muestra cada Tomar una muestra cada segundosegundo
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Sección XI – Panel Frontal Remoto
• Observar y Controlar Paneles Frontales de LabVIEW desde un Navegador en la Web
• No Requiere Programación• Usuarios en lugares Remotos pueden ver en Tiempo Real las Actualizaciones del Panel Frontal
• Múltiples clientes pueden Observar el Panel Frontal Simultáneamente
• Solo un Cliente Puede Controlar el Panel Frontal a la vez
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Herramienta para la Publicación de un Panel Remoto
•Tools » Web Publishing Tool…
•Clic Salvar a Disco y el VI es embebido a un archivo HTML
•Después que el archivo a sido grabado, puede ser reabierto y personalizado en cualquier editor HTML
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
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.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
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.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
• Es importante tener en cuenta que los pasos a seguir al utilizar el puerto serie los siguiente:
1. Realizar la configuración del puerto serie, inicializándolo según las características que se deseen para la comunicación.
2. Acceder al puerto serie para recibir o enviar datos tantas veces como se desee.
3. Cerrar el puerto serie para dejarlo libre para otra aplicación.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Configuración del puerto serie.
• Aquí hay que indicar a la PC cómo ha de actuar en las comunicaciones, es decir, qué puerto se ha de utilizar, con qué velocidad de transmisión ha de emitir y recibir bytes, que tipo de paridad, etc.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
Lectura del puerto serie• Una vez configurado el puerto serie y establecida la comunicación es posible que el periférico
haya transferido datos a la PC. Para el programador, este proceso de recepción de datos es transparente, es decir, es el propio puerto serie quien se encargará de gestionar la comunicación con el periférico si éste desea enviar información.
• 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.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
• Esta lectura se realiza con el VI VISA Read
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Escritura del puerto serie.
• El método que se sigue para transferir información a un periférico es utilizar el icono VISA write.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.Ing. Serafin Castañeda Cedeño
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Ejemplo
• Realizar un programa para leer información por el puerto serial de un lector de RF (Microreader de TIRIS), el cual cada que recibe un TAG valido, envía por su puerto serial (9600,8,N,1) una trama de 12 bytes.
• 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.
DEPARTAMENTO DE INGENIERIA
MECATRÓNICA.
Byte Contenido
Comentario Descripción
00 0101 Start MarkStart Mark
11 0909 LengthLength 9 bytes seguidos, excluyendo BCC9 bytes seguidos, excluyendo BCC
22 0C0C StatusStatus Tag validoTag valido
33 **** Data Field (1)Data Field (1) Tag ID (LSB)Tag ID (LSB)
44 **** Data Field (2)Data Field (2)
55 **** Data Field (3)Data Field (3)
66 **** Data Field (4)Data Field (4)
77 **** Data Field (5)Data Field (5)
88 **** Data Field (6)Data Field (6)
99 **** Data Field (7)Data Field (7)
1010 **** Data Field (8)Data Field (8) Tag ID (MSB)Tag ID (MSB)
1111 **** BCCBCC Detección de errorDetección de error