ARRAYS EN LABVIEW - Facultad de Ingeniería · PDF fileLos arrays o arreglos son un...

Preview:

Citation preview

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

ARRAYS EN LABVIEW

RelacionandoRelacionando DatosDatos Arrays y ClustersArrays y Clusters

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

ObjetivosObjetivos

1. Event Structure

2. Arrays

3. Funciones

4. Ejercicios

5. Cluster

6. Simulación de adquisición de señales de tensión

7. Adquisicion de datos con la placa USB 18200-10

8. Adquisición de una señal de tensión

9. Adquisición de dos señales (corriente y tensión)

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

StructureStructure EventEvent

Código a procesar cada vez que se pulse un botón

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

StructureStructure EventEvent

Código a procesar cada vez que se pulse un botón

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

StructureStructure EventEvent

EjercicioEjercicio

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

EjercicioEjercicio

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Ejercicio: Realizar un VI con las cuatro operaciones matemáticas utilizando la estructura event.

EjercicioEjercicio

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADAArrays

• Determinado por los elementos y dimensiones.• Pueden ser utilizados como un indicador o un

control (de entrada).• El cableado de un array es del mismo color que el

tipo de datos que contiene, pero más grueso y en el caso de los numéricos es de doble línea para dos o más dimensiones.

• En el terminal del DdB aparecerá el tipo de datosentre corchetes.

• Se utilizan cuando se trabaja con una colección de datos similares y cuando se quiere optimizarsubrutinas repetitivas

Los arrays o arreglos son un conjunto de datos del mismo tipodatos del mismo tipoordenados que pueden ser nnúúmeros, meros, booleanosbooleanos , waveform, , waveform, pathpath , , stringsstrings ,, etc.

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Arrays- Creación

Para crear un Array vamos al PF y con clic derecho con el mouse seleccionamos ArrayArray desde Array,Matrix & Clusters

EjercicioEjercicio

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

El siguiente paso es determinar que tipo de arreglo se va a generar. Existen dos tipos de arreglos: indicadores y de control. En el primer caso solo recibe datos por parte del programa, mientras que en el segundo (control) el usuario puede ingresar los datos manualmente.

En nuestro ejemplo creamos un arreglo de control, agregando un control numérico y lo colocamos dentro del Array.

Arrays – Creación

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Arrays

Como se puede apreciar el arreglo tiene una entrada, si lo que deseamos es una matriz de cinco entradas habrá que colocar el puntero en dicho arreglo de tal forma de obtener la selección siguiente:

Colocar el puntero y estirar para aumentar las entradas hasta observar cinco celdas.

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Arrays

Si queremos obtener tres filas (Array de dos dimensiones) hacemos clic en en la primera celda hasta obtener la siguiente forma:

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Arrays – Creación

1. Al usar un Array no hay que declarar el tamañode cada dimensión, yaque puederedimensionarse cuandosea necesario.

2. Si el Array se deja vacíoen el DdB aparecerá el terminal en negro con un paréntesis vacío.

VacVacííoo

EjercicioEjercicio

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Arrays

Siguiendo los mismos pasos podemos crear un array con indicadores.

En el ejemplo siguiente creamos un VI que genere cinco números aleatorios y lo almacenamos en un array:

Ejercicio 1Ejercicio 1

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Arrays – Auto-indexando “Output”

• Cuando “auto-index” queda habilitado a la salida del túnel, el Array de salida recibe un nuevo elemento en cada iteración del ciclo.

• “Auto-indexed output arrays” tiene igual número de elementos queel número de iteraciones.

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Construir un Array con constantes desde el DB

Función Build ArrayBuild Array

Ejercicio 2Ejercicio 2

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Arrays – 2D Array

• Requiere de un índice de columna y un índice de fila paralocalizar a un elemento, ambos índices se inician en cero.

• Para crear un multidimensional array sobre el PF, click derechosobre el display de índice, se selecciona “Add Dimension”desde el menú emergente.

• Con la herramienta de posicionamiento podemoscambiar el tamaño del despliegue del índice hasta quetenga las dimensiones quequeramos.

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Arrays – Inicialización

• El array puede inicializarse ingresando los datos desde el PF.• Para inicializar arrays, se define el número de elementos en cada

dimensión y el contenido de cada elemento.• Los arrays sin inicializar tienen dimensión pero no tienen

elementos.

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Arrays – Creando constantes

• Para crear un array constante: • Seleccionar Array Array ConstanteConstante desde

la paleta de “Functions”• Coloque la función en el DdB• Arraste e inserte una constante dentro del

Array.• Se usa un array constante para almacenar

varios datos que permanecen constantes en la ejecución de un VI.

• Arrays constantes también son útiles para pasardatos dentro de un subVI

Ejercicio 3Ejercicio 3

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Arrays – Auto-indexado

• “For Loop” o “While Loop”, cada iteración puede volcarinformación como un elemento del array habilitandoautoindexado sobre el túnel.

• El túnel cambia de forma: de un cuadrado sólido a la imagensiguiente:

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Arrays – Auto-indexando “Input”

• “For Loop” se ejecutaun número de vecesigual al númerode elementos del Array

Ejercicio 4Ejercicio 4

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Arrays – Creando Arrays 2D

• Usando dos “For Loops”, uno dentro del otro generamos un array 2D

Ejercicio 5

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

•Build Array (Agregando un nuevo elemento a un array existente)

Trabajando con arrays usando funciones de LabVIEW

Ejercicio 6

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

•Build Array (Agregando un nuevo elemento a un array existente)

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Trabajando con arrays usando funciones de LabVIEW

Array Index (desplegar un elemento del array 1D por su índice)

Ejercicio 7

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Trabajando con arrays usando funciones de LabVIEW

Array Index (elemento de un Array 2D)

Ejercicio 8

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Trabajando con arrays usando funciones de LabVIEW

Ejercicio 9Ejercicio 9

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Trabajando con arrays usando funciones de LabVIEW

Ejercicio 10Ejercicio 10

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Trabajando con arrays usando funciones de LabVIEW

Dimensión de un Array

Ejercicio 11Ejercicio 11

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Trabajando con arrays usando funciones de LabVIEW

Ejercicio 12 Ejercicio 12

Si la función no encuentra el elemento devuelve -1

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Trabajando con arrays usando funciones de LabVIEW

Build, Insert, Sort (Ejercicio 13)

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Función Subset: Regresa parte de un array iniciando por el index y

determinado por lenght

Ejercicio 14

Ejemplo

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Ejercicio 15Ejercicio 15

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Trabajando con arrays usando funciones de LabVIEW

Ejercicio 16Ejercicio 16

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Ejercicio 16Ejercicio 16

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Ejercicio 17Ejercicio 17

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Construir un VI con una rutina de una función de estructura que genere el array de la Figura.

A partir de este array genere otro donde se intercambien los elementos 3 y 8, obteniendo el array resultante:

EjercicioEjercicio

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

ClustersClusters

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Clusters

• Estructura de Datos que agrupa datos juntos.• Pueden contener datos de tipos diferentes (a diferencia de los

arrays).• Similar a un registro de una base de datos• Los elementos deben ser todos Controles o todos Indicadores.

EjemploEjemplo

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Clusters – Array vs. Cluster

• Los “Clusters” difieren de los arrays en que tienen una medida fija.• Clusters pueden contener datos mixtos mientras que los arrays

contienen datos de un único tipo.• Igual que un array, un cluster es o un control o un indicador y no

puede contener una mezcla de controles e indicadores.

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

En el ejemplo siguiente, se muestra cómo tres tipos de datos distintos (número real, número entero y cadena de caracteres) que se encuentran en los controles de la izquierda son llevados a la parte derecha del diagrama como una única unidad.Para aguparlos, se utiliza el objeto Bundle, que se encuentra en Functions/Programming/Cluster, Class & Variants.

En cambio, en el lado derecho, tanto del diagrama como del panel, se encuentran los indicadores que permiten visualizar los valores enviados desde los controles antes mencionados. Para ello, se utiliza el objeto Unbundle, cuya misión es obtener los elementos individuales del grupo que llega a su entrada.

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Ejercicio 18Ejercicio 18

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Ejercicio 19Ejercicio 19

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

EjercicioEjercicio 2020

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Clusters Clusters –– CreaciCreacióónn

• Para crear un cluster control o indicadoren el PF:– Colocar la pre-forma (punteada) del

Cluster sobre el PF desde “Controls->>Array & Cluster”

– Arrastrar objetos dentro, que bien puede ser numérico, Booleano, string”, etc.

– El cluster se convierte en indicador o control de acuerdo al primer objeto quefue ingresado dentro del grupo

Ejercicio

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

CREACION DE UN CLUSTER DESDE EL PANEL FRONTAL

Ejercicio 21Ejercicio 21

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Cluster Constante• Para crear un cluster constante:

– Seleccione un “cluster constant” desde la paleta de “Functions”– Coloque el cuadro “cluster” en el DdB

Ejercicio 22

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Clusters – Orden• El orden de los datos en el

interior es en el que se añaden.

• Este orden se puedemodificarhaciendo click derechoen el borde del cluster y seleccionando “Reorder Controls In Cluster ”desde el menú contextual

El orden lógico

inicia en 0 Ejercicio 23

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Ejercicio 1

Clusters

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Ejercicio

Clusters

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Clusters y Waveform Graph

Ejercicio

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Trabajando con arrays usando funciones de LabVIEW

EjercicioEjercicio

x0

1=∆x

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Ejercicio

INSTRUMENTACIINSTRUMENTACIÓÓN AVANZADAN AVANZADA

Recommended