Minicurso CONEIMERA LabVIEW

87

description

Minicurso CONEIMERA LabVIEW

Transcript of Minicurso CONEIMERA LabVIEW

Page 1: Minicurso CONEIMERA LabVIEW
Page 2: 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

Page 3: Minicurso CONEIMERA LabVIEW

3

ENTORNO DE LABVIEW

Page 4: Minicurso CONEIMERA 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

Page 5: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Ventana de inicio

5

Page 6: Minicurso CONEIMERA LabVIEW

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

Page 7: Minicurso CONEIMERA LabVIEW

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

Page 8: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Ventanas, menús y herramientas

• Menús

8

Menús

Page 9: Minicurso CONEIMERA LabVIEW

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

Page 10: Minicurso CONEIMERA LabVIEW

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

Page 11: Minicurso CONEIMERA LabVIEW

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

Page 12: Minicurso CONEIMERA LabVIEW

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

Page 13: Minicurso CONEIMERA LabVIEW

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

Page 14: Minicurso CONEIMERA LabVIEW

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

Page 15: Minicurso CONEIMERA LabVIEW

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

Page 16: Minicurso CONEIMERA LabVIEW

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

Page 17: Minicurso CONEIMERA LabVIEW

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

Page 18: Minicurso CONEIMERA LabVIEW

18

IMPLEMENTACIÓN DE UN INSTRUMENTO VIRTUAL

Page 19: Minicurso CONEIMERA LabVIEW

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.

Page 20: Minicurso CONEIMERA LabVIEW

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.

Page 21: Minicurso CONEIMERA LabVIEW

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.

Page 22: Minicurso CONEIMERA LabVIEW

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.

Page 23: Minicurso CONEIMERA LabVIEW

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.

Page 24: Minicurso CONEIMERA LabVIEW

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.

Page 25: Minicurso CONEIMERA LabVIEW

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

Page 26: Minicurso CONEIMERA LabVIEW

Estructuras de programación

26

Page 27: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Localización de las estructuras

• Las estructuras se encuentran en la paleta de funciones:Block Diagram Functions – Programming -

Structures.

27

Page 28: Minicurso CONEIMERA LabVIEW

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

Page 29: Minicurso CONEIMERA LabVIEW

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

Page 30: Minicurso CONEIMERA LabVIEW

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

Page 31: Minicurso CONEIMERA LabVIEW

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

Page 32: Minicurso CONEIMERA LabVIEW

32

ESTRUCTURAS DE DATOS

Page 33: Minicurso CONEIMERA LabVIEW

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

Page 34: Minicurso CONEIMERA LabVIEW

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

Page 35: Minicurso CONEIMERA LabVIEW

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

Page 36: Minicurso CONEIMERA LabVIEW

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

Page 37: Minicurso CONEIMERA LabVIEW

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

Page 38: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Ejercicio Construir ArraysFront Panel

38UTT-2012

Page 39: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Ejercicio Construir ArraysFront Panel

Controls Palette » Modern » Array, Matrix & Cluster

»Array

39UTT-2012

Page 40: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Ejercicio Construir ArraysBlock Diagram

Array de constantes

40UTT-2012

Page 41: Minicurso CONEIMERA LabVIEW

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

Page 42: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Ejercicio Autoindexación

42UTT-2012

Page 43: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Ejercicio Autoindexación

43UTT-2012

Page 44: Minicurso CONEIMERA LabVIEW

Funciones: Array Size

44

Page 45: Minicurso CONEIMERA LabVIEW

Funciones: Index Array

45

Page 46: Minicurso CONEIMERA LabVIEW

Funciones: Index Array

46

Renglón 2

Page 47: Minicurso CONEIMERA LabVIEW

Funciones: Index Array

47

Columna 1

Page 48: Minicurso CONEIMERA LabVIEW

Funciones: Replace Array Subset

UTT-2012 M.C. Juana Martínez Laguna 48

Page 49: Minicurso CONEIMERA LabVIEW

Funciones: Replace Array Subset

UTT-2012 M.C. Juana Martínez Laguna 49

Renglón 1

Colum

na 2

Page 50: Minicurso CONEIMERA LabVIEW

Funciones: Insert Into Array

UTT-2012 M.C. Juana Martínez Laguna 50

Page 51: Minicurso CONEIMERA LabVIEW

Funciones: Insert Into Array

UTT-2012 M.C. Juana Martínez Laguna 51

Page 52: Minicurso CONEIMERA LabVIEW

Funciones: Delete From Array

52

Page 53: Minicurso CONEIMERA LabVIEW

Funciones: Delete From Array

53

column

Page 54: Minicurso CONEIMERA LabVIEW

Funciones: Build Array

54

Page 55: Minicurso CONEIMERA LabVIEW

Funciones: Array Subset

55

Page 56: Minicurso CONEIMERA LabVIEW

Funciones: Array Subset

56

Page 57: Minicurso CONEIMERA LabVIEW

Funciones: Initialize Array

57

Page 58: Minicurso CONEIMERA LabVIEW

Funciones: Initialize Array

58

Page 59: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Polimorfismo

• Las entradas de las funciones numéricas pueden ser escalares, arreglos o clusters.

59

Page 60: Minicurso CONEIMERA LabVIEW

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

Page 61: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Ejercicio: Datos seriales

• Front Panel

61

Page 62: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Ejercicio: Datos seriales

• Block Diagram

62

Page 63: Minicurso CONEIMERA LabVIEW

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

Page 64: Minicurso CONEIMERA LabVIEW

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

Page 65: Minicurso CONEIMERA LabVIEW

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

Page 66: Minicurso CONEIMERA LabVIEW

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

Page 67: Minicurso CONEIMERA LabVIEW

UTT-2012 M.C. Juana Martínez Laguna 67

Page 68: Minicurso CONEIMERA LabVIEW

UTT-2012 M.C. Juana Martínez Laguna 68

Page 69: Minicurso CONEIMERA LabVIEW

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

Page 70: Minicurso CONEIMERA LabVIEW

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

Page 71: Minicurso CONEIMERA LabVIEW

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

Page 72: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Construcción de waveform chart

Método 1. Punto a punto

UTT-2013 M.C. Juana Martínez Laguna 72

Page 73: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Construcción de waveform chart

Método 1. Punto a punto

UTT-2013 M.C. Juana Martínez Laguna 73

Page 74: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Construcción de waveform chart

Método 2. Con arreglo

UTT-2013 M.C. Juana Martínez Laguna 74

Page 75: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Construcción de waveform chart

Método 2. Con arreglo

UTT-2013 M.C. Juana Martínez Laguna 75

Page 76: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Construcción de waveform chart

Múltiples gráficas

UTT-2013 M.C. Juana Martínez Laguna 76

Page 77: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Construcción de waveform chart

Múltiples gráficas

UTT-2013 M.C. Juana Martínez Laguna 77

Page 78: Minicurso CONEIMERA LabVIEW

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

Page 79: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Construcción de waveform graph

UTT-2013 M.C. Juana Martínez Laguna 79

Page 80: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Construcción de waveform graph

UTT-2013 M.C. Juana Martínez Laguna 80

Page 81: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Construcción de waveform graph con

múltiples gráficas

UTT-2013 M.C. Juana Martínez Laguna 81

Page 82: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Construcción de waveform graph con

múltiples gráficas

UTT-2013 M.C. Juana Martínez Laguna 82

Page 83: Minicurso CONEIMERA LabVIEW

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

Page 84: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Construcción de X-Y Graph

UTT-2013 M.C. Juana Martínez Laguna 84

Page 85: Minicurso CONEIMERA LabVIEW

XXI CONEIMERA - 2014

Construcción de X-Y Graph

UTT-2013 M.C. Juana Martínez Laguna 85

Page 86: Minicurso CONEIMERA LabVIEW

86

M.C. Juana Martínez [email protected]

Page 87: Minicurso CONEIMERA LabVIEW

87

ADQUISICIÓN DE DATOS