Sie sind auf Seite 1von 10

Instrumentación Avanzada. G. Murcia- J.

Strack

GUIA DE EJERCICIOS
Nº 5
INSTRUMENTACIÓN AVANZADA

Arrays, Clusters
y algunos otros tipos de
datos en LabVIEW

1
Instrumentación Avanzada. G. Murcia- J. Strack

4- ARRAYS, CLUSTERS Y ALGUNOS OTROS TIPOS DE DATOS

Además de los datos Booleanos, Numéricos o String que venimos usando en este curso, veremos
a continuación algunos otros tipos de datos muy usados en LabVIEW que nos permitan ir
aumentando la complejidad de nuestras aplicaciones. Presentaremos aquí:
 Los Arrays o Arreglos.
 Los Clusters.
 Los Enums y los Ring.
 Los Waveform.
 Los Dynamics.

Los Arrays o Arreglos:

Los arrays o arreglos son un conjunto de datos ordenados y de un tipo determinado; de esta
forma no puede hablarse simplemente de array sino de array de booleanos, array de strings,
arrays de indicadores numéricos, etc.

Un arreglo consiste de elementos y dimensiones. Los elementos son los datos propiamente dichos
que componen el arreglo. La dimensión esla longitud del arreglo. Un arreglo puede tener una o
más dimensiones y tantos como (231)-1 elementos por dimensión, si la memoria lo permite.

Se accede a cada elemento de un array mediante un índice, el cual es cero base, es decir, va de 0
a N-1 donde N es el número de elementos.

Por ejemplo, un array se puede crear yendo a la paleta de controles, Modern »Array, Matrix, y
Cluster y arrastrando la estructura del arreglo en el panel frontal.

Una vez creado el array hay que llenarlo con los “datos” que serán
controles, indicadores, constantes, etc, simplemente arrastrando esos
elementos y soltándolos dentro de la celda del arreglo.

Considere usar arreglos cuando trabaje con una colección de datos similares y cuando realice
cálculos repetitivos.

Los arreglos son ideales para almacenar datos, desde formas de onda o datos generados en ciclos,
donde cada iteración de un ciclo produce un elemento del arreglo.

2
Instrumentación Avanzada. G. Murcia- J. Strack

Los Clusters:

Los Clusters son grupos de elementos que pueden contener datos de distinto tipo, a diferencia
del array que contiene datos del mismo tipo.

Un ejemplo de un clusteres el “cluster de error de LabVIEW” (el cable color amarillo en el


diagrama de bloques), el cual combina un valor booleano (status),un valor numérico (code), y
una cadena de caracteres (source). Un clúster es similar a un registro o una estructura en
lenguajes de programación basados en texto.

cluster de error LabVIEW

Al igual que en los arrays, un cluster puede ser un control o un indicador y no puede contener
una mezcla de controles e indicadores. La diferencia entre los clusters y los arrays es que un
cluster puede contener tipos de datos mixtos, pero un array puede contener un solo tipo de datos.

Otra diferencia entre los clusters y los arrays es que un cluster en particular tiene un tamaño fijo,
mientras un array en particular puede variar de tamaño (dimensión).

Construir varios elementos de datos en clusters elimina el desorden de cables en el diagrama de


bloques y reduce el número de terminales del panel conector que los sub-VIs necesitan. El panel
conector de un sub-VI, tiene a lo más, 28 terminales. Si su panel frontal contiene más de 28
controles e indicadores que quiera pasar a otro VI, agrupe algunos de ellos en un cluster y asigne
el cluster a un terminal en el panel conector.

La mayoría de los clusters en el diagrama de bloques tienen un patrón de cable rosa y terminal de
tipos de datos. Los clusters de error tienen un patrón de cable amarillo oscuro y terminal de tipo
de datos. Los clusters de valores numéricos, algunas veces conocidos como puntos, tienen un
patrón de cable café y terminal de tipo de datos.

Puede cablear clusters numéricos color cafe a funciones Numéricas, como Suma o Raíz
Cuadrada, para realizar la misma operación simultáneamente en todos los elementos del cluster.

La mecánica para colocar un cluster en el panel frontal es


similar a colocar un array. Se puede ir a la paleta de controles,
Modern »Array, Matrix, y Cluster y arrastrando la estructura
del cluster en el panel frontal.

Una vez creado hay que llenarlo con controles, indicadores,


constantes, etc, simplemente arrastrando esos elementos o
indicadores y soltándolos dentro de la celda del cluster.

3
Instrumentación Avanzada. G. Murcia- J. Strack

Los Enum / Ring:


Un enum o un ring representa un par de valores: una cadena de caracteres y un valor
numérico.

Por ejemplo, si usted creó un control enum llamado Mes, los pares de valores posibles para una
variable Mes son Enero0, Febrero1y así hasta Diciembre11.La figura muestra un ejemplo de
estos pares de datos en la ventana de diálogo de Propiedades para un control enum. Se obtiene
acceso al dar clic con botón derecho en el control enum y al seleccionar Edit Items.

Propiedades para el Control Enumerado Mes

Los enums son útiles porque es más fácil manipular números en el diagrama de bloques que
cadena de caracteres, por ejemplo al seleccionar Enero en el control enum del panel frontal este
toma el valor 0 en el diagrama de bloques. La figura que sigue muestra el control enum Mes, la
selección de un par de datos en el control enum y el terminal del diagrama de bloques
correspondiente.

(1) Control de Panel Frontal | (2) Seleccionar un Elemento | (3) Terminal de Diagrama de Bloques

La diferencia entre un enum y un ring es solo estética en el panel frontal.

4
Instrumentación Avanzada. G. Murcia- J. Strack

Los Waveform:
Un Waveform es una especie de cluster, pero que se compone de cuatro elementos especialmente
seleccionados para representar formas de ondas.

Los elementos de un Waveform son:


 t0: es un time stamp (tipo de datos que representa una fecha) que indica el momento
correspondiente al primer valor de la forma de onda.
 dt: es la diferencia de tiempo entre muestras de la forma de onda, se supone que ésta no
varía.
 Y: es un array numérico que contiene los valores en el eje vertical de la forma de onda.
 attributes: es otra información que puede ser añadida a la forma de onda (por ejemplo un
texto).

Herramienta para construir un Waveform

Existe una gran variedad de sub-VIs destinados a procesar Waveforms, lo que nos permite
calcular valores eficaces, valores medios, frecuencias, etc., de una forma de onda dada.

Los Dynamics:

Este tipo de datos se usa con los VIs Express. Los VIs Express son VIs que tiene un aspecto de
cuadro color celeste y que al hacer doble clic sobre ellos se despliega una ventana que permite
configurarlos.

Los datos dinámicos incluyen datos y atributos asociados con una señal, como nombre, fecha,
etc. Este tipo de datos al igual que los Waveform enfatizan el hecho que los datos son medidas y
no sólo números en una columna.

VI Express que genera un dato dinámico

5
Instrumentación Avanzada. G. Murcia- J. Strack

Ejercicio 5.1:
Generar un arreglo de 10 números aleatorios entre 0 y 100. A partir de él se pide:
a) Obtener el valor máximo y la posición en que se encuentra.
b) Obtener el valor mínimo y la posición en que se encuentra.
c) Dividir el arrayen dos: A y B. El A debe contener los elementos de índices pares y el
B los elementos de índices impares.
d) Multiplicar todos los elementos de A por 5.
e) Multiplicar A por B elemento a elemento.

Ejercicio 5.2:
Construir un arreglo de 1000 filas por 2 columnas donde la primera columna contenga
valores de una señal senoidal y la segunda de una señal cosenoidal. Utilice un control Ring
para mostrar en un Waveform Graph una señal o la otra. En todos los casos utilice cuatro
decimales.

6
Instrumentación Avanzada. G. Murcia- J. Strack

Ejercicio 5.3:
Crear un control tipo cluster que contenga los siguientes elementos:
a) Un control numérico llamado A.
b) Dos controles booleanos llamados B y C.
c) Una matriz cuadrada llamada M.
Se desea obtener un cluster indicador que contenga:
1. Un indicador tipo Gauge que contenga el cuadrado de A.
2. Un indicador booleano igual a la operación lógica “or” entre B y C.
3. Una matriz T igual al cuadrado de M.

Ejercicio 5.4:
Usando VI Express construya un simulador de generador de formas de onda senoidal,
cuadrada y triangular que funcione entre 20 y 200 Hz.
Transforme los datos dinámicos generados por el VI Express a formato WaveForm y
utilice las herramientas adecuadas para obtener:
 El valor medio, el valor eficaz, la frecuencia y el THD de cada forma de onda
simulada.
 Una gráfica de cada onda en un WaveForm Graph.
 El espectro de frecuencias en otro WaveForm Graph.

7
Instrumentación Avanzada. G. Murcia- J. Strack

Ejercicio 5.5:
Una balanza tiene una salida analógica de 0 a 5V que se corresponde con 0 a 10 kg en
forma lineal. Con esa balanza una empresa que tiene cuatro operarios (Antonio, Beatriz,
José y Luis) pesa sacos de un determinado producto.
Construir una aplicación usando la placa PIC o Arduino que lea el peso de la balanza y
asignar a cada operario un pulsador de la placa de adquisición de manera que cuando lo
pulse se memorice en la PC el peso tomado.
Se necesita que la PC lleve un registro de los pesos tomados por cada operario, el promedio
de los pesos tomados y la cantidad de sacos que cada uno de ellos pesó.

Ayuda:
Una posible solución podría ser plantear un programa que siga una forma de programación
llamada “máquina de estados”.
Una máquina de estados no es otra cosa que una estructura While con un Case dentro. En
cada Case se programa una tarea (Estado) y se pasa de un Estado a otro mediante un Shift
Register.

Veamos como lo podemos aplicar:

8
Instrumentación Avanzada. G. Murcia- J. Strack

Estado 1:
"se pesa
continuamente"
Paso del estado 1 a 2:
Paso del estado 3 a 1:
Se pasa cuando algún
Se pasa luego de hacer
operario presiona un
las sumas
botón

Estado 3: Estado 2:
"se cuentan y promedian "se memoriza guardando
los valores almacenados el peso en un cluster que
en el cluster que cada cada operario tiene. Los
operario tiene, los cuales clusters podrían estar en
a su vez están en un un arrays de cluster para
arrays de cluster" tener menos cableado"

Paso del estado 2 a 3:


Se pasa luego de
memorizar

El estado 1 podría ser:

9
Instrumentación Avanzada. G. Murcia- J. Strack

El estado 2 podría ser:

El estado 3 podría ser:

10

Das könnte Ihnen auch gefallen