0% encontró este documento útil (0 votos)
212 vistas108 páginas

Introducción a LabVIEW y VIs

El documento describe un curso sobre instrumentación virtual con LabVIEW. Los objetivos incluyen comprender los componentes de un instrumento virtual, aprender funciones básicas de LabVIEW, y desarrollar aplicaciones usando arreglos, clusters y estructuras de programación. También cubre el desarrollo de instrumentos virtuales y su publicación en el navegador.

Cargado por

Miguel Sosa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
212 vistas108 páginas

Introducción a LabVIEW y VIs

El documento describe un curso sobre instrumentación virtual con LabVIEW. Los objetivos incluyen comprender los componentes de un instrumento virtual, aprender funciones básicas de LabVIEW, y desarrollar aplicaciones usando arreglos, clusters y estructuras de programación. También cubre el desarrollo de instrumentos virtuales y su publicación en el navegador.

Cargado por

Miguel Sosa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

Instrumentación Virtual con LabVIEW

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 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

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Ing. Serafin Castañeda Cedeño
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

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Plataformas Integradas

Instrumentación Modular PXI PC de Escritorio PC Portátil PDA

High-Speed Multifunction
Digitizers Data Acquisition Control de
Instrumento

High-Resolution Dynamic Counter/ Visión Motion Distributed I/O and


E/S Digital de Máquina
Digitizers and DMMs Signal Acquisition Timers Control Embedded Control

Acondicionamiento
de Señal y
Conmutación

Unidad Bajo
Prueba

Departamento Deprtamento
DEPARTAMENTO DE
de Ingeniería INGENIERIAde Ingeniería
Mecatrónica Mecatrónica
MECATRÓNICA.
6
¿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.
Ing. Serafin Castañeda Cedeño
Programas de LabVIEW se llaman instrumentos virtuales (VIs)

Panel frontal
• Controles = entradas
• Indicadores = salidas

Diagrama de bloque
• Programa de acompañamiento
para el panel frontal
• Componentes “cableados”
entre si

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
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

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Ing. Serafin Castañeda Cedeño
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

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.
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

Herramienta de operación Herramienta de desplazamiento

Herramienta de posicionamiento Herramienta de punto de paro


y redimensión Herramienta de prueba
Herramienta de etiquetado Herramienta para copia de color
Herramienta de cableado Herramienta para colorear
Herramienta de menú (atajo)

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Barra de herramientas de Estado

Botón de ejecución (Run)

Botón de ejecución continua Botones adicionales en


(Continuous Run) el diagrama de la barra
Cancelación de ejecución de herramientas
(Abort Execution)
Botón de ejecución resaltada
Botón de pausa/continuación (Highlight Execution)
Configuración de textos Botón de entrada al ciclo
(Text Settings) (Step Into)
Alineamiento de objetos Botón sobre (Step Over)
(Align Objects)
Distribución de objetos Botón de salida del ciclo
(Distribute Objects) (Step Out)
Reordenamiento

Redimensionamiento de objetos
de panel frontal (Resize Objects)

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 Funcion

VI Expreso VI Estandar

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Ejemplo :Abra y Ejecute un Instrumento Virtual
Buscador de Ejemplos

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Ing. Serafin Castañeda Cedeño
Creando un VI
Ventana de Panel Frontal

Ventana de Diagrama de Bloques

Terminales Terminales
de de
Control Indicador

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 Haga Clic para Seleccionar los Cables

Utilice la Ruta Automática Limpiando el Cableado


del Cable

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Ejemplo: Creando un VI
Ventana del Panel Frontal

Indicador
Grafico

Control
Numérico Conversión:
°F=(9/5)(°C)+32
Señal del sensor
20°C/volt

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
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

• 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.

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
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.
Ing. Serafin Castañeda Cedeño
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.
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.

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.
Ing. Serafin Castañeda Cedeño
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.
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.
Ing. Serafin Castañeda Cedeño
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)
}

SubVI Diagrama de Bloques Llamando al VI en el


Diagrama de Bloques

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Icono y Conector

Icon
• Un icono representa un VI en otro
diagrama de bloque
Terminals
• El conector muestra terminales
disponibles para transferir datos
Connector

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Ing. Serafin Castañeda Cedeño
SubVIs Sub 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.
Ing. Serafin Castañeda Cedeño
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.
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.
Ing. Serafin Castañeda Cedeño
Insertar el SubVI dentro de un VI Principal

Acceder subVIs creados por el usuario


Funciones >> All Functions >> Seleccione
un VI o
arrastre el icono hasta el diagrama deseado

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
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.
Ing. Serafin Castañeda Cedeño
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

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.
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.
Ing. Serafin Castañeda Cedeño
Conexiones de Hardware
SC-2075
BNC-2120

NI-ELVIS
SCB-68

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Ejemplo– Adquisición de Datos Simples
Complete el VI de conversión de °C a °F (Conversion C a
[Link]), y después cree el VI Termómetro ([Link]).

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Sección IV – Ciclos y Gráficas
• For Loop (Ciclo Para)
• While Loop (Ciclo Mientras)
• Gráficas
• Multiplots

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Ing. Serafin Castañeda Cedeño
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 [Link].

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 Frontal
Desde 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.
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
DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Funciones de los Arreglos – Lo Basico
Functions >> 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)

(a) (b)
2. Selección (select)

(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.

Retardo de Tiempo Ciclo Temporizado

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Ejemplo:
• Realizar un programa generar la Valor decimal Valor
Hexadecimal
secuencia de movimiento de un motor
de pasos. 3 0011
• Colocar un dial (control numérico) para 6 0110
poder variar el tiempo entre cada dato.
12 1100
• Colocar un control booleano para el
9 1001
cambio del sentido de giro del motor.

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Gráficos
• Seleccionados desde la Paleta de Controles del Menu
Controls >> All Controls >> Graphs

Grafico de Forma de Onda


(Waveform Graph) – Grafica un
arreglo de numeros en contra de sus
indices
Grafico XY Expreso (Express XY
Graph) – Grafica un array en contra
de otro
Grafico de Forma de Onda Digital
(Digital Waveform Graph) –
Grafica 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.
Ejercicio 5 – Usando Graficos de Forma de Onda
(Waveform )

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Ing. Serafin Castañeda Cedeño
Shift Register
• Disponible en los bordes derecho e izquierdo de los ciclos y
estructuras
• Con un clic derecho en el borde y selecciona Add Shift
Register
• El terminal derecho guarda el dato al terminar la iteración
• La terminal izquierda provee el dato al comenzar la nueva
iteración
Valor 3
Valor
Inicial

Antes de
que Inicie Primera Segunda Ultima
el Ciclo Iteración Iteración Iteración

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
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.

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.
Almacenamiento de datos en un archivo.
• Para guardar datos en un archivo nuevo se han de seguir
tres pasos:

1. Crear un archivo nuevo


2. Escribir los datos en el archivo
3. 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.
Ing. Serafin Castañeda Cedeño
Modelos para Programación de Archivos E/S

Abre / Crea / Lee y / o


Cierra Busca
Remplaza Escribe
Archivos Errores
Archivos Archivos

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
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.
Ing. Serafin Castañeda Cedeño
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 LVM Lectura de un Archivo LVM

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
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.
Ing. Serafin Castañeda Cedeño
Ejemplo– Analizando e Introduciendo Datos
Los Estudiantes construyen el VI Logger de [Link]

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Ejemplo:

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
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.
Ing. Serafin Castañeda Cedeño
Creando un Cluster
1. 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.

(Las etiquetas de la
terminal reflejan los
Bundle
tipos de datos)
(Agrupar)

Bundle by name
(Agrupar por nombre)

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Funciones del Cluster

Unbundled
(separar)

Unbundled by name Ejemplo de un


(separar por nombre) 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.
Ing. Serafin Castañeda Cedeño
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.
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.
Ing. Serafin Castañeda Cedeño
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 [Link]

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Arquitectura de un VI General
• Tres pasos principales
– Inicio
– Aplicación principal
– Cierre (shutdown)

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Máquinas de estado
Adquisición

Estado Muestras
presente
completas
Entrada

Filtrado

Estado
siguiente

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Ing. Serafin Castañeda Cedeño
Inicio
Tiempo

Estado
•Inicialización de 1
variables.
• Cerrar archivos.
• Abrir archivos.
• Cerrar puertos de
• Abrir y configurar
comunicación.
puertos de
Estado
comunicación.
3
Case
Stop
While
Fin

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Ing. Serafin Castañeda Cedeño
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

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 1
3: Evento 2
4: Cierre (Shutdown)

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Ing. Serafin Castañeda Cedeño
Ejemplo – Máquina de Estado

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Ing. Serafin Castañeda Cedeño
Ejercicio 5 – Aplica lo aprendido

Tomar una muestra cada


segundo

Almacenar en archivo .txt:


Temp Tmin Tmax Tipo de
Alarma DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
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.
Ing. Serafin Castañeda Cedeño
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.
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.
Ing. Serafin Castañeda Cedeño
• 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.
DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.
Ing. Serafin Castañeda Cedeño
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 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)

5 ** Data Field (3)


6 ** Data Field (4)
7 ** Data Field (5)
8 ** Data Field (6)
9 ** Data Field (7)
10 ** Data Field (8) Tag ID (MSB)
11 ** BCC Detección de error

DEPARTAMENTO DE
INGENIERIA
MECATRÓNICA.

También podría gustarte