Está en la página 1de 10

Instrumentación Avanzada. G. Murcia- J.

Strack

GUIA DE EJERCICIOS
Nº 5
INSTRUMENTACIÓN AVANZADA

Arrays, Clusters
yalgunos 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 dedatos 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 longituddel arreglo. Un arreglo puede tener una o
más dimensiones y tantos como (231)-1 elementos pordimensió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 usararreglos cuando trabaje con una colección de datos similares y cuando realice
cálculos repetitivos.

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

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

Los Clusters:

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

Unejemplo de un clusteres el “clusterde 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 registroo 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 puedecontener una
mezcla de controles e indicadores. La diferencia entre los clusters ylos arrays es que un cluster
puede contener tipos de datos mixtos, pero unarraypuedecontener un solo tipo de datos.

Otra diferencia entre los clusters y los arrayses que uncluster en particular tiene un tamaño fijo,
mientras unarray en particular puede variar detamañ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 determinales 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 contienemá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 terminalen 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 errortienen un patrón de cable amarillo oscuro y terminal de tipo
de datos. Los clusters de valores numéricos, algunas veces conocidoscomo puntos, tienen un
patrón de cable café y terminal de tipo de datos.

Puede cablear clustersnuméricos color cafe a funcionesNumé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 clusteren 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ó uncontrol 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. Seobtiene
acceso al dar clic con botón derecho en el control enum y al seleccionar EditItems.

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
bloquescorrespondiente.

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

La diferencia entre un enumy 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 arraynumé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 Belemento 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 WaveformGraph una señal o la otra. En todos los casos utilice tres
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 generador 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 WaveFormGraph.
 El espectro de frecuencias en otro WaveFormGraph.

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 Arduinoque 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
ShiftRegister.

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

También podría gustarte