Minicurso CONEIMERA LabVIEW

Post on 11-Jan-2016

24 views 0 download

description

Minicurso CONEIMERA LabVIEW

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 Lagunajuana.martinez@uttijuana.edu.mx

87

ADQUISICIÓN DE DATOS