Minicurso CONEIMERA LabVIEW
-
Upload
eric-gozzer -
Category
Documents
-
view
24 -
download
0
description
Transcript of Minicurso CONEIMERA LabVIEW
2
Contenido Entorno de LabVIEW
Introducción Panel frontal Diagrama de bloques Herramientas
Implementación de un instrumento virtual Tipos de datos Estructura While Estructura For Estructura Case
Estructuras de datos Array Cluster
Gráficas Adquisición de datos
3
ENTORNO DE LABVIEW
XXI CONEIMERA - 2014
Introducción• Instrumento virtual VI
• Programa desarrollado en LabVIEW, consta de un icono, panel de conexiones, panel frontal y diagrama de bloques.
• Apariencia y operación similar a un instrumento físico, como un osciloscopio o un multímetro.
• LabVIEW• Contiene herramientas para adquisición, análisis, despliegue,
y almacenamiento de datos.• Puede establecer comunicación con hardware para
adquisición de datos, visión, dispositivos de control de movimiento, así como instrumentos con puertos GPIB, PXI, VXI, RS232 y RS485.
4
XXI CONEIMERA - 2014
Ventana de inicio
5
XXI CONEIMERA - 2014
Ventanas, menús y herramientas
• Ventanas para Crear un VI en blanco• Panel Frontal• Diagrama de Bloques• El desarrollador de la aplicación construye el VI desde cero
6
XXI CONEIMERA - 2014
Ventanas, menús y herramientas
• Ventana para crear un proyecto
7
• Un proyecto consiste de VI’s, archivos necesarios para ejecutar dichos VI’s, archivos con documentación y enlaces relacionados.
• La ventana Project Explorer permite administrar los recursos del proyecto en dos páginas: Items y Files
XXI CONEIMERA - 2014
Ventanas, menús y herramientas
• Menús
8
Menús
XXI CONEIMERA - 2014
Ventanas, menús y herramientas
9
Barra de herramientas del panel frontal1. Run2. Run continuously3. Abort execution4. Pause5. Text settings
6. Align objects7. Distribute objects8. Resize objects9. Reorder10. Search11. Context help
1.
2.
9.5.3.
4.
8.
6.
7. 11
10
XXI CONEIMERA - 2014
Ventanas, menús y herramientas
10
1. Run2. Run continuously3. Abort execution4. Pause5. Highlight execution6. Retain wire values7. Step into8. Step over9. Step out
10.Text settings
11. Align objects12.Distribute objects13.Reorder14.Clean up diagram15.Search16.Context help
Barra de herramientas del diagrama de bloques
1.
2.
9.
5.
3.
4.
8.
6.
7.
13
11
10 15
12
16
14
XXI CONEIMERA - 2014
Ventanas, menús y herramientas• Paleta de herramientas
• Accesible desde panel frontal y diagrama de bloques
• Automatic tool selection• Operating tool• Positioning tool• Labeling tool• Wiring tool• Object shortcut menu tool• Scrolling tool• Breakpoint tool• Probe tool• Color copy tool• Coloring tool
11
XXI CONEIMERA - 2014
Panel frontal y diagrama de bloques
• Panel Frontal• Contiene la interface gráfica del instrumento virtual• Esta formado por controles e indicadores• Tiene accesible la paleta de controles
12
XXI CONEIMERA - 2014
Panel frontal y diagrama de bloques• Diagrama de bloques
• Contiene representaciones gráficas de las funciones que controlan los objetos del panel frontal que aparecen como terminales.
• Tiene accesible la paleta de funciones
13
XXI CONEIMERA - 2014
Panel frontal y diagrama de bloques
• Diagrama de bloques• Express VI’s: Nodos configurables a través de ventanas de
dialogo.• SubVI: Un Instrumento virtual dentro de otro, con su
propio icono, panel frontal y diagrama de bloques.• Funciones: Operaciones fundamentales de LabVIEW, no
tienen panel frontal ni diagrama de bloques, pero si tienen panel de conexiones.
• Nodo: Objeto en el diagrama de bloques que tiene entradas y salidas y ejecuta operaciones cuando el VI esta modo RUN. Pueden ser una función, un subVI, o una estructura.
• Estructura: Son elementos para el control de procesos, como Case, For Loop, While Loop.
14
XXI CONEIMERA - 2014
Modelo de programación en Labview
• Un nodo en el diagrama de bloques se ejecuta cuando todas sus entradas están disponibles.
• Cuando un nodo completa su ejecución, coloca los datos en sus terminales de salida para luego pasarlos al siguiente nodo.
15
XXI CONEIMERA - 2014
Controles y funciones• Paleta de controles
• Solo accesible desde el panel frontal• Incluye controles e indicadores
16
Modern: Controles e indicadores para la mayoría de aplicaciones
Silver: Controles que cambian apariencia dependiendo de la plataforma
System: Controles para cuadros de dialogo, cambian apariencia según la plataforma
Classic: Controles para monitores con características limitadas de color
Express: Controles de la subpaleta modern de uso frecuente y localización rápida
XXI CONEIMERA - 2014
Controles y funciones• Paleta de funciones
• Accesible desde el diagrama de bloques• Incluye funciones, estructuras, express VI’s
17
Programming: Funciones básicas de un VI, estructuras, arreglos, clusters, operaciones numéricas, operaciones booleanas, comparación, cadenas, temporizadores.
Express VI: Funciones de entrada salida de datos, análisis y manipulación de señales, configuración por medio de cuadros de diálogo.
Mathematics: Funciones numéricas, álgebra lineal, cálculo, probabilidad y estadística, ecuaciones diferenciales.
Instrument I/O: Interfaces de comunicación para GPIB, serie, PXI.
Measurement I/O: Interfaces con NI-DAQ y otros dispositivos de adquisición de datos
18
IMPLEMENTACIÓN DE UN INSTRUMENTO VIRTUAL
19
Terminales y Cables
• Los controles e indicadores se visualizan en forma de iconos, en el Diagrama de bloques.
• Toman el color del tipo de dato que manejan.
• Un terminal de control contiene un borde doble, mientas que un indicador borde sencillo.
20
Terminales y Cables
• Por otra parte los cables se utilizan para generar la estructura lógica de elementos mediante la conexión de los terminales de cada objeto.
• Los cables determinan el flujo de datos .
• Varían según la señal que conducen y se diferencian por el color que usan, pues este representa el tipo de dato.
• Recomendación: Para remover cables rotos Ctrl B.
21
Tipos de datos Numéricos
• Los datos mas utilizados son los datos numéricos.
• Los tipos de datos numéricos son similares a los utilizados en cualquier otro lenguaje de programación, son de diferentes tipos según su naturaleza y el tamaño que ocupan en la memoria.
22
Tipos de datos Numéricos
• Es posible identificar los tipos de datos por su forma, tamaño y color de sus terminales y cables. Ver fig. 8
Fig. 8 tipos de datos Numéricos (terminales y cables) vistos en el Diagrama de bloques.
23
Tipos de Datos Numéricos
• También es posible cambiar los tipos de datos, dando clic derecho sobre el terminal y seleccionar la opción Representation luego el nuevo tipo de dato.
24
String (Cadena)
• Otro tipos de datos es el String, también conocidos como cadena.
• Una cadena es una colección de caracteres ASCII, que no sólo se usan como mensajes de texto.
• En el control de instrumentos se emplean para pasar datos numéricos como cadenas de caracteres o String.
• Crear mensajes de texto.
• Conversiones de cadenas de caracteres a números y viceversa.
• Almacenamiento de datos numéricos en un archivo.
25
Booleanos
• Este tipo de dato es un entero de 16 bits, donde el bit más significativo contiene el valor booleano. Ver fig. 11
• Si el bit 15 se pone a “1 lógico”, entonces el valor del control o indicador es TRUE (verdadero);
• por el contrario, si este bit 15 vale “0 lógico”, el valor de la variable será FALSE (falso). Fig. 11 terminales con tipo de
datos Booleano
Estructuras de programación
26
XXI CONEIMERA - 2014
Localización de las estructuras
• Las estructuras se encuentran en la paleta de funciones:Block Diagram Functions – Programming -
Structures.
27
XXI CONEIMERA - 2014
While Loop
• Es un ciclo que repite el subdiagrama que contiene hasta que una condición determinada se cumpla. Su equivalente en lenguaje de programación convencional es:
Do (ejecuta el Subdiagrama)
{
} While (condición es TRUE o
FALSE)
28
• En LabView se representa con un marco.
Terminal de Iteración
Terminal de condición
XXI CONEIMERA - 2014
While Loop• Por defecto las instrucciones contenidas
en el ciclo se repetirán mientras que al terminal de condición llegue un valor verdadero.
• Si se desea lo contrario es necesario cambiar la lógica dando clic con el botón derecho en el terminal y seleccionar la opción stop if true.
• Cablear la condición que controla el ciclo.
29
• El terminal de iteración determina el número de veces que se ha ejecutado el ciclo y puede ser utilizado para visualizar o para alguna operación dentro de la estructura.
El terminal de iteración, varía desde 0 hasta N-1
donde N es el número de iteraciones realizadas
por el ciclo
XXI CONEIMERA - 2014
For Loop•Es un ciclo que repite el subdiagrama que contiene un numero definido de veces
30
Su equivalente en otro lenguaje es: For i = 0 to N – 1
{Ejecuta subdiagrama}
La terminal de iteración indica el numero de veces que se ha ejecutado el ciclo. Varía desde 0 hasta N-1 donde N es el numero total de iteraciones que realiza el ciclo. El valor de contador contiene el numero de veces que se ejecutará el ciclo.
Valor del contador
Terminal de iteración
XXI CONEIMERA - 2014
Case
•Posee varios subdiagramas denominados Casos (case ) de los que sólo se ejecuta uno.•Esta es una fusión del If y el switch, en programación convencional
31
If (condición) { Caso cierto }Else { Caso Falso }
switch (variable) {Case constante 1: {caso 1}break;Case constante 2: {caso 2}break;..Default{caso 2}}
32
ESTRUCTURAS DE DATOS
XXI CONEIMERA - 2014
•Arreglo: Conjunto ordenado de elementos del mismo tipo.
• Numéricos• Booleanos• Strings• Clusters
•Cada elemento• se identifica con • un índice desde • cero hasta n-1.
Arreglos (Arrays)
33UTT-2012
XXI CONEIMERA - 2014
Crear un arreglo de controles/indicadores
• Desde el front panel•Controls Palette » Modern » Array, Matrix & Cluster , Seleccionar y arrastrar el icono Array hasta el front panel.
cambia de
aspecto en
el front
panel
34UTT-2012
XXI CONEIMERA - 2014
Llenar un arreglo de controles/indicadores
• Arrastrar un control/indicador desde controls palette hasta el arreglo, estirar abajo/derecha para agregar más elementos.
Element display
Index display
35UTT-2012
XXI CONEIMERA - 2014
Arreglo de dos dimensiones
• Los elementos se localizan por dos índices: renglón y columna.
• Para agregar dimensiones: con el botón derecho en index display seleccionar Add Dimension.
Column Index
display
Index display
Row Index
display
36UTT-2012
XXI CONEIMERA - 2014
Crear un arreglo de constantes
• Se construye desde block diagram:•Functions palette » Programming »
•Array » Array Constant
• En block diagram cambia su aspecto
• Se arrastra una constante desde Functions palette » Programming » Numeric » Numeric constant hacia el arreglo y se estira para agregar más elementos
37UTT-2012
XXI CONEIMERA - 2014
Ejercicio Construir ArraysFront Panel
38UTT-2012
XXI CONEIMERA - 2014
Ejercicio Construir ArraysFront Panel
Controls Palette » Modern » Array, Matrix & Cluster
»Array
39UTT-2012
XXI CONEIMERA - 2014
Ejercicio Construir ArraysBlock Diagram
Array de constantes
40UTT-2012
XXI CONEIMERA - 2014
• Permite enviar datos a un arreglo por un túnel sin utilizar índices.
• For Loops: habilitada por default.• While Loops: deshabilitada por default.• Con el botón derecho en el túnel,
Disable/Enable Indexing
Autoindexación
UTT-2012 41
XXI CONEIMERA - 2014
Ejercicio Autoindexación
42UTT-2012
XXI CONEIMERA - 2014
Ejercicio Autoindexación
43UTT-2012
Funciones: Array Size
44
Funciones: Index Array
45
Funciones: Index Array
46
Renglón 2
Funciones: Index Array
47
Columna 1
Funciones: Replace Array Subset
UTT-2012 M.C. Juana Martínez Laguna 48
Funciones: Replace Array Subset
UTT-2012 M.C. Juana Martínez Laguna 49
Renglón 1
Colum
na 2
Funciones: Insert Into Array
UTT-2012 M.C. Juana Martínez Laguna 50
Funciones: Insert Into Array
UTT-2012 M.C. Juana Martínez Laguna 51
Funciones: Delete From Array
52
Funciones: Delete From Array
53
column
Funciones: Build Array
54
Funciones: Array Subset
55
Funciones: Array Subset
56
Funciones: Initialize Array
57
Funciones: Initialize Array
58
XXI CONEIMERA - 2014
Polimorfismo
• Las entradas de las funciones numéricas pueden ser escalares, arreglos o clusters.
59
XXI CONEIMERA - 2014
Ejercicio : Datos seriales
• A partir de un cadena de caracteres, generar la secuencia de bits correspondiente a su código ASCII y almacenar los bits en un arreglo de salida.
60
XXI CONEIMERA - 2014
Ejercicio: Datos seriales
• Front Panel
61
XXI CONEIMERA - 2014
Ejercicio: Datos seriales
• Block Diagram
62
XXI CONEIMERA - 2014
•Es un conjunto ordenado de elementos de DIFERENTE tipo: Indicadores o controles, pero no una mezcla ambos.
•Es similar a un registro o estructura en un lenguaje de programación.
•Con un solo cable conecta el cluster•No utiliza índices.
Cluster
M.C. Juana Martínez Laguna 63UTT-2012
Crear un cluster de controles/indicadores
• Desde el front panel•Controls Palette » Modern » Array, Matrix & Cluster , Seleccionar y arrastrar el icono Cluster hasta el front panel.
UTT-2012 M.C. Juana Martínez Laguna 64
cambia de
aspecto en el
front panel
Llenar un cluster
• Arrastrar controles / indicadores desde controls palette hasta el cluster.
• No mezclar entre controles e indicadores.
UTT-2012 M.C. Juana Martínez Laguna 65
Orden de un cluster• En el marco del
cluster, con el botón derecho seleccionar Reorder Controls in Cluster
• Recuadro blanco orden actual.
• Recuadro negro nuevo orden.
UTT-2012 M.C. Juana Martínez Laguna 66
UTT-2012 M.C. Juana Martínez Laguna 67
UTT-2012 M.C. Juana Martínez Laguna 68
Funciones: Bundle y Unbundle
• Bundle: Se usa para ensamblar un cluster• Unbundle: Des-ensambla un cluster
UTT-2012 M.C. Juana Martínez Laguna 69
Funciones: Bundle by name y Unbundle by name
• Bundle by name: Ensambla un cluster utilizando las etiquetas de los nombres de los elementos
• Unbundle: Des-ensambla un cluster usando las etiquetas que identifican a los elementos.
UTT-2012 M.C. Juana Martínez Laguna 70
XXI CONEIMERA - 2014
•Es un indicador numérico.•Muestra una o más gráficas.•Historial de datos.•Se grafican punto a punto o por medio de
arreglos.
Waveform charts
M.C. Juana Martínez Laguna 71UTT-2013
XXI CONEIMERA - 2014
Construcción de waveform chart
Método 1. Punto a punto
UTT-2013 M.C. Juana Martínez Laguna 72
XXI CONEIMERA - 2014
Construcción de waveform chart
Método 1. Punto a punto
UTT-2013 M.C. Juana Martínez Laguna 73
XXI CONEIMERA - 2014
Construcción de waveform chart
Método 2. Con arreglo
UTT-2013 M.C. Juana Martínez Laguna 74
XXI CONEIMERA - 2014
Construcción de waveform chart
Método 2. Con arreglo
UTT-2013 M.C. Juana Martínez Laguna 75
XXI CONEIMERA - 2014
Construcción de waveform chart
Múltiples gráficas
UTT-2013 M.C. Juana Martínez Laguna 76
XXI CONEIMERA - 2014
Construcción de waveform chart
Múltiples gráficas
UTT-2013 M.C. Juana Martínez Laguna 77
XXI CONEIMERA - 2014
Waveform graph
• Representa una serie de valores Y equiespaciados, comenzando a partir del valor X0.
• Cada nueva serie de datos reemplaza a la anterior.
UTT-2013 M.C. Juana Martínez Laguna 78
XXI CONEIMERA - 2014
Construcción de waveform graph
UTT-2013 M.C. Juana Martínez Laguna 79
XXI CONEIMERA - 2014
Construcción de waveform graph
UTT-2013 M.C. Juana Martínez Laguna 80
XXI CONEIMERA - 2014
Construcción de waveform graph con
múltiples gráficas
UTT-2013 M.C. Juana Martínez Laguna 81
XXI CONEIMERA - 2014
Construcción de waveform graph con
múltiples gráficas
UTT-2013 M.C. Juana Martínez Laguna 82
XXI CONEIMERA - 2014
X-Y graph
• Un punto X1, puede tener varios valores Y1.• Los valores X1 no necesariamente están
equiespaciados.• Representa coordenadas en el plano (X1,Y1)
UTT-2013 M.C. Juana Martínez Laguna 83
XXI CONEIMERA - 2014
Construcción de X-Y Graph
UTT-2013 M.C. Juana Martínez Laguna 84
XXI CONEIMERA - 2014
Construcción de X-Y Graph
UTT-2013 M.C. Juana Martínez Laguna 85
86
M.C. Juana Martínez [email protected]
87
ADQUISICIÓN DE DATOS