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