Está en la página 1de 21

Instrumentación

Ingeniería Mecatrónica

Práctica 9
Gráficas, trazos, arreglos y grupos en LabVIEW

Objetivo de la práctica

Al terminar esta práctica, el discente será capaz de:


 Conocer las diferencias entre una gráfica (graph) y un
trazo (chart),
 conocer las tres maneras diferentes de actualización de
las gráficas para presentación de información,
 comprender cómo generar un arreglo (array)
 comprender las diferencias entre un grupo (cluster) y un
arreglo (array).

Material:

 Computadora con LabVIEW Profesional versión 8.0 en


adelante (preferentemente 8.6)

Introducción

En esta práctica se presentará información referente a la


utilización de gráficas (graphs) y trazos (chart), sus
similitudes y diferencias, así como determinar cuándo utilizar
uno u otro. También se tratarán los arreglos (array) y los
grupos (clusters), dos formas de agrupar información.

Marco teórico
En esta práctica se contemplarán las gráficas (Graphs) y
los trazos (Charts), los cuales son indicadores pero no
numéricos, sino gráficos.

Práctica #9 Gráficas, trazos, vectores y clusters 1


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

Figura 1.- Indicador Chart para trazos

Figura 2.- Indicador Graph para gráficos

Los gráficos y trazos son similares en los indicadores,


pero no en la forma de presentar la información.
Los VIs con gráficos obtienen información y la estructuran
en un arreglo, después presentan dicho gráfico con la
información. Es parecido a una hoja de Excel, donde primero
almacena la información y después presenta dicha información de
manera gráfica.
Los VIs con trazos agregan nuevos puntos de información a
la gráfica presentada. En un trazo se observa la lectura o
medición actual con respecto a la anterior.

Los gráficos y trazos se encuentran como indicadores en el


panel frontal dentro de los controles (ControlsModernGraph)
e incluyen varios tipos de presentaciones gráficas:

 Waveform Chart y Graph.- Muestran información adquirida en


un intervalo de tiempo constante.
 XY Graph.- Muestra información adquirida pero no en un
intervalo de tiempo constante. Normalmente se adquiere
cuando se activa dicha adquisición (parecido a una función
de transferencia).

Práctica #9 Gráficas, trazos, vectores y clusters 2


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

 Intensity Chart y Graph.- Muestra información de tercera


dimensión en un gráfico de dos dimensiones utilizando
color para los valores de la tercera dimensión.
 Digital Waveform Graph.- Muestra información como pulsos o
grupos de líneas digitales.

Los anteriores indicadores gráficos son algunos de los que


se encuentran en el submenú antes mencionado (para mayor
información, utilizar la ayuda de LabVIEW).

Además de visualizar la información en forma de gráficas, es


posible cambiar la apariencia de los gráficos y trazos
agregando o quitando opciones. Para esto es necesario presionar
el botón derecho del ratón sobre los indicadores y escoger
entre alguna de ellas en visible items:

Figura 3.- Submenú de gráficos y trazos

 Plot Legend.- Define la presentación de la gráfica a


presentar (color y estilo). Esta opción permite indicar
las características de varias gráficas a la vez en la
misma ventana.
 Scale Legend.- Define las etiquetas para las escalas y sus
propiedades.
 Graph Palette.- Cambia la escala y el formato de
presentación mientras el VI se ejecuta.
 X Scale y Y Scale.- Le da formato a los ejes X e Y.
 Cursor Legend (Gráfico).- Coloca un cursor en una
coordenada. Es posible colocar múltiples cursores en un
gráfico.

Práctica #9 Gráficas, trazos, vectores y clusters 3


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

 X Scrollbar (Trazo).- Coloca una barra deslizante para


acceder a información que no se encuentre visible en ese
momento (anterior).

Otro punto a contemplar en la práctica son los arreglos


(arrays), también conocidos como vectores. Un arreglo se
compone de elementos y dimensiones.
Los elementos son la información que contiene el arreglo. La
dimensión es el tamaño del mismo, es decir, su longitud, altura
y profundidad.

Un arreglo puede ser numérico, booleano, de cadenas de


caracteres, de información sobre señales y clusters. El
utilizar arreglos se ejemplifica cuando se trabaja con
información similar y cuando se realizan cálculos o procesos
repetitivos. Los arreglos son ideales para almacenar
información que se genera a partir de señales o información que
proviene de ciclos, donde cada iteración produce un elemento
del arreglo.

Figura 4.- Arreglo de controles e indicadores numéricos

Figura 5.- Arreglo de controles e indicadores Booleanos

No es posible crear un arreglo de arreglos. Sin embargo,


es posible crear un arreglo multidimensional o un arreglo de
clusters, donde cada cluster contenga uno o más arreglos.

Los arreglos cuentan con índices, los cuales sirven para


ubicar algún punto en particular dentro del mismo. En LabVIEW,
estos índices permiten colocarse en el arreglo y retomar
elementos, filas, columnas, etcétera.
Los arreglos son ordenados partiendo del cero, es decir, se
cuenta con un rango de n-1.

Práctica #9 Gráficas, trazos, vectores y clusters 4


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

Un ejemplo sobre arreglos es el crear una lista de


asistencia para el grupo, donde la resultante será un arreglo
de una dimensión (1D) de cadenas de caracteres. Se puede
accesar a dichos elementos mediante el índice o directamente al
seleccionar al estudiante directamente del elemento.
Otro ejemplo es una señal representada como un arreglo
numérico en donde cada elemento sucesivo es un valor para cada
intervalo de tiempo.
Los ejemplos anteriores son arreglos de una dimensión. Los
arreglos de dos dimensiones almacenan elementos en una
cuadrícula (similar a una matriz). Lo anterior porque requieren
de un índice para filas y otro para columnas.
Por ejemplo, un tablero de ajedrez cuenta con ocho columnas y
ocho filas para un total de 64 localidades.

Los arreglos pueden contener casi cualquier tipo de


información, excepto:
 crear arreglos de arreglos. Es posible crear un
arreglo multidimensional o utilizar la función Build
Cluster Array para crear un arreglo de clusters donde
cada cluster contenga uno o más arreglos;
 crear arreglos de gráficas que no tengan el formato
XY, ya que una gráfica es un dato tipo arreglo y,
como se estableció, un arreglo no puede contener otro
arreglo. Es posible realizarlo si se encuentra en un
cluster;
 crear un arreglo de trazos (por lo antes señalado).

Clusters
Un cluster es una estructura de datos que, como los
arreglos, agrupa datos (la traducción para cluster es algo
similar a “grupo”). Sin embargo, los clusters y arreglos tienen
diferencias importantes y una de ellas es que un cluster puede
agrupar información de diferentes tipos de datos, el arreglo
solo puede contar con solamente uno. Lo anterior es similar a
un cable UTP, donde cada alambre del mismo representa un tipo
de dato diferente (puede ser digital, analógico).

Práctica #9 Gráficas, trazos, vectores y clusters 5


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

El cluster es similar al STRUCT de lenguaje tradicional, donde


se puede agrupar diferentes tipos de datos en una sola
estructura.

Figura 6.- Clusters de controles e indicadores

Agrupar varios tipos de elementos en clusters reduce la


proliferación de cables en el diagrama a bloques y el número de
terminales si se crea un subVI. Recuerde que para crear un
ícono, solo puede tener acceso a (máximo) 28 terminales.

Aunque los clusters y arreglos se ordenan automáticamente


(asignan un valor en el índice), uno debe desagrupar todos los
elementos para evitar tomar todos los datos al mismo tiempo.
Una función que ayuda a realizar esto es Unbundle By Name
(FunctionsProgrammingClusters, Class & Variant) la cual
genera un nombre para cada elemento dentro del grupo, para
tener conocimiento de cuál es dicho elemento.

Los clusters se ordenan de manera automática y no interesa


la posición en la cual se encuentren. Lo que interesa es saber
cuál elemento se colocó primero, ya que ese elemento tendrá
asignado el índice cero, el segundo el 1, el tercero el 2, y
así sucesivamente. Si algún elemento se eliminara, el orden se
ajusta automáticamente.
El orden determina cómo aparecerán los elementos en las
funciones de agrupación o desagrupación en el diagrama a
bloques. Es posible modificar el orden de manera manual
colocando el cursor sobre el borde del cluster, presionar el
botón derecho del ratón y seleccionar Reorder Controls In
Cluster.

Práctica #9 Gráficas, trazos, vectores y clusters 6


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

Es importante señalar que un cluster puede contener


diferentes tipos de datos (numérico, booleano, carácter, etc.)
pero solo debe contar con controles o indicadores, no debe
contener ambos.

Para poder conectar dos clusters, estos deben tener el


mismo número de elementos. Los elementos correspondientes,
determinados por el orden del cluster, deben ser compatibles en
información. Suponga que se conecta un control numérico de
doble precisión a un indicador booleano en el otro cluster. Si
esto ocurre, deberá forzarlos a que sean de la misma
representación.

Se empezará a utilizar lo aprendido para crear un arreglo


de una dimensión.

Desarrollo

1) Abra un nuevo VI.

2) Genere el siguiente panel frontal (figura 7):

Figura 7.- Arreglo de una dimensión

a) Utilice la función array “arreglos”


(ControlsModernArrays, Matrix &
Cluster) y colóquela sobre el panel
frontal.

b) Coloque un indicador numérico dentro del


arreglo.

Práctica #9 Gráficas, trazos, vectores y clusters 7


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

c) Ubique en la esquina inferior derecha del


arreglo el cursor hasta que observe que
el cursor cambia de presentación. Cuando
esto suceda, arrastre hacia la derecha
para producir los ocho elementos del
panel frontal.

Figura 8.- Creando más elementos del arreglo

d) Coloque un indicador numérico como se


muestra en la figura 7 para las
iteraciones.

3) Genere el diagrama a bloques de la figura 9.

Figura 9.- Diagrama a bloques de arreglo de una dimensión

a) Coloque todo dentro de un ciclo FOR y


asigne el valor de 7 repeticiones.
b) Utilice la función wait (ms) y asigne
una constante de 500. Esto para forzar a
LabVIEW a esperar un tiempo en
milisegundos antes de continuar
(FunctionsProgrammingTimming).

Práctica #9 Gráficas, trazos, vectores y clusters 8


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

4) Presione CTRL+t. Utilice el foco de Highlight


execution para observar el comportamiento. Ejecute el
VI.

5) Guarde el VI con el nombre de “Arreglo de 1


dimensión”.

Es posible crear un arreglo de dimensiones mayores a


uno. Para esto se utilizará el VI antes creado.

6) Utilice la función Save As… y guarde el nuevo VI como


“Arreglo de 2 dimensiones”
a) Utilice la opción CopySubstitute copy
for original y presione el botón
Continue.

Figura 10.- Guardando VI “Arreglo de 2 dimensiones”

7) Genere el siguiente panel frontal.

8) Coloque el cursor sobre el índice del arreglo y


presione el botón derecho del ratón. Seleccione Add
Dimension.

Práctica #9 Gráficas, trazos, vectores y clusters 9


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

Figura 11.- Agregando una dimensión al arreglo

9) Realice el mismo procedimiento que en la parte 2c)


para generar una nueva dimensión. En este caso agregarán
cinco filas, generando un arreglo de 5x8

Figura 12.- Generando un arreglo de 5x8

10) Genere el siguiente diagrama a bloques.

Figura 13.- Diagrama a bloques de arreglo de dos dimensiones

Práctica #9 Gráficas, trazos, vectores y clusters 10


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

11) Seleccione el panel frontal. Ejecute el VI observando


los indicadores numéricos (no utilice el foco highlight
execution).

12) Cierre el VI.

Al haber creado arreglos, se puede percatar de las


posibles aplicaciones que se beneficiarán al utilizarlos. Ahora
se utilizarán los clusters en LabVIEW para tener un punto de
comparación y revisar sus posibles tareas.

13) Abra un nuevo VI.

14) Genere el siguiente panel frontal.

Figura 14.- Creando Clusters

a) Utilice la función cluster y genere


cuadros lo suficientemente amplios para
almacenar los controles e indicadores de
la figura 14 (ControlsModernArrays,
Matrix & Cluster).
b) Coloque los controles e indicadores
dentro del cluster (recuerde que todos
se encuentran en
ControlsModernNumeric y Boolean.

15) Al tener todos los controles e indicadores en el


cluster, seleccione el cluster y presione el botón
derecho del ratón. Utilice la opción AutosizingSize to
Fit. Hágalo para los dos clusters.

Práctica #9 Gráficas, trazos, vectores y clusters 11


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

Figura 15.- Ajustando el contenido en clusters

Para asegurar que los controles corresponden a los


indicadores deseados se asignarán manualmente (si no se
colocaron en el mismo orden en ambos).

16) Seleccione el cluster de controles y escoja la opción


Reorder Controls In Cluster…

17) Asigne los siguientes valores para los controles:


 0 para el numérico,
 1 para el booleano,
 2 para el Dial,
 3 para el Knob y,
 4 para el Slide.

Al iniciar la asignación, se presentará en la parte


superior un mensaje “click set to”. Cuando se
encuentre en cero, asigne al numérico, en uno al
booleano y así sucesivamente hasta llegar al cuatro.

Figura 16.- Asignando manualmente el orden en clusters

Práctica #9 Gráficas, trazos, vectores y clusters 12


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

18) Repita lo anterior, pero ahora para los indicadores.

19) Presione Ctrl+E y conecte los clusters en el diagrama


a bloques.

20) Regrese al panel frontal y utilice la opción Running


Continuosly (dos flechas en círculo entre la flecha Run
y el botón de abort) para ejecutar el VI. Utilice los
controles y observe.

21) Guarde el VI como “Clusters”.

22) Utilizando el diagrama a bloques del VI, agregue los


elementos sugeridos.

Figura 17.- Separando elementos del cluster

a) Utilice la función Unbundle By Name y


Unbundle (FunctionsProgramming
Clusters, Class & Variant). Conecte las
entradas de los elementos con el cluster
de control.
b) Una vez conectados, expanda la función
Unbundle By Name utilizando el cursor
hasta llegar al mensaje slide.
c) Genere indicadores para slide en la
función Unbundle By Name y TF en la
función Unbundle.

23) Regrese al panel frontal y ejecute de manera continua


el VI. Utilice solo el control booleano y el control
deslizante.

Práctica #9 Gráficas, trazos, vectores y clusters 13


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

24) Modifique el nombre del control booleano a


“interruptor” en el panel frontal y observe lo que
sucede en el diagrama a bloques.

25) Cierre el VI y guarde los cambios.


Ahora que se ha comprendido y aplicado el uso de los
arreglos y clusters en LabVIEW, se realizarán aplicaciones con
estos elementos.

26) Abra un nuevo VI.

27) Genere el siguiente panel frontal.

Figura 18.- Monitor de temperatura

a) Utilice un trazo (Waveform Chart) para


la pantalla gráfica.
b) Modifique los valores máximos (90) y
mínimos (70) del eje de las ordenadas
presionando dos veces con el botón
izquierdo del ratón sobre el valor. Haga
lo mismo para todo el trazo (nombres,
títulos, etcétera).

28) Genere el diagrama a bloques de este VI.

Práctica #9 Gráficas, trazos, vectores y clusters 14


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

Figura 19.- Diagrama a bloques del monitor de temperatura

a) Utilice un ciclo WHILE para la ejecución


del VI. Recuerde cambiar el botón rojo
de condición a continue if true.
b) Seleccione el VI “Simulación de
temperatura” (FunctionsSelect a VI…) y
conéctelo al indicador de trazos.

29) Ejecute el VI 5 veces con el interruptor apagado y


observe el comportamiento (utilice la flecha sola o
Ctrl+R).

30) Ahora ejecute pero con el interruptor encendido y


observe. Detenga el VI con el interruptor.

31) Guarde el VI como “Monitor de temperatura”.

Para evitar que la actualización de la temperatura en


el trazo sea tan rápida y no se pueda ver con claridad, se
tomarán muestras de la temperatura en intervalos de 100
milisegundos. La adquisición será más lenta.

32) Agregue dentro del ciclo WHILE, un reloj como en la


parte 3b), solo que ahora la constante será de 100.

33) Ejecute el VI con el interruptor en encendido. Observe


el comportamiento del panel frontal.

34) Guarde el VI.

Práctica #9 Gráficas, trazos, vectores y clusters 15


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

En esta parte de la práctica, se realizará un análisis


de la información presentada por la temperatura. Para esto
podrá utilizar arreglos, clusters, trazos y gráficos.

35) Guarde el VI utilizando la función Save As… con el


nombre “Análisis de temperatura” (recuerde lo realizado
en la parte 6a)

36) Genere el siguiente panel frontal.

Figura 20.- Panel frontal del VI “Análisis de temperatura”

a) Modifique el trazo y agregue un gráfico


(Waveform Graph). Redacte los límites,
así como las etiquetas. Para agregar una
gráfica más en el indicador gráfico
donde aparecen las leyendas de las dos
señales, simplemente expanda el menú con
el cursor.
b) Esconda el menú de gráficas para el
indicador de trazos (colocarse sobre él
y presionar el botón derecho del ratón,
luego seleccionar visible itemsPlot
Legend).
c) Cambiar el aspecto de graficado para las
dos señales a generar colocando el
cursor sobre el estilo de línea y
presionar el botón derecho del ratón.
Las dos señales deben ser diferentes,

Práctica #9 Gráficas, trazos, vectores y clusters 16


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

así que puede experimentar como lo


desee.

Figura 21.- Formato de señales en la gráfica

37) Genere el siguiente diagrama a bloques.

Figura 22.- Diagrama a bloques del VI “Análisis de temperatura”

a) Coloque el cursor sobre el borde del


ciclo WHILE y seleccione Replace with
FOR LOOP.
b) Asigne el valor de 100 al número de
repeticiones para el ciclo FOR.
c) Genere cuatro constantes numéricas y
asigne los valores de 0, 0.1, 0.1 y 2.
Si las constantes aparecen en color
azul, significa que LabVIEW asignó un
formato de 32 bits con signo. Lo que
se desea son formatos decimales.
d) Si no aparecen con el formato DBL, es
decir, doble precisión (punto decimal,
color naranja), coloque el cursor
sobre las constantes y presione el
botón derecho del ratón. Escoja

Práctica #9 Gráficas, trazos, vectores y clusters 17


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

RepresentationDBL. Realice lo
anterior para cada una de las
constantes.

Figura 23.- Formato de constantes a punto decimal

e) Si no le aparecen las etiquetas para


cada constante, coloque el cursor
sobre la misma y presione el botón
derecho del ratón. Escoja Visible
ItemsLabel, y escriba el título de
cada constante como se sugiere en el
diagrama a bloques.
f) Coloque el VI para ajuste polinomial
(FunctionsMathematicsFittingGener
al Polynomial Fit.vi) en el diagrama a
bloques y asigne a Y el valor de la
simulación de temperatura; en X
coloque el resultado de la
multiplicación. La salida Best
Polynomial Fit se conectará después.

Figura 24.- Ventana de ayuda “General Polynomial Fit.vi”

g) Inserte dos elementos de agrupación


(Bundle) para combinar los datos
provenientes tanto del ciclo FOR como
del ajuste de la curva
(FunctionsProgramming Clusters,
Class & Variant).
h) Expanda las funciones de agrupación
(Bundle) hasta obtener tres elementos

Práctica #9 Gráficas, trazos, vectores y clusters 18


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

de entrada, como se observa en el


diagrama a bloques.
i) Conecte las entradas a agrupar como se
sugiere en el diagrama a bloques
(recuerde conectar la salida Best
Polynomial Fit)
j) Utilice la función Build Array
(FunctionsProgramming Array) para
crear arreglos de los datos y poder
graficarlos. La función puede
expandirse con el cursor para obtener
dos entradas ó, directamente sobre
ella presionando el botón derecho del
ratón y seleccionando Add Input.
k) Conecte la salida de la función Build
Array a la entrada del gráfico
“Gráfica de temperatura”.

38) Guarde el VI.

39) Ejecute el VI y observe.

40) Modifique el orden polinomial y ejecute de nuevo.

El ejercicio realizado muestra cómo se puede utilizar


LabVIEW para realizar análisis a variables y determinar cuál
será el comportamiento a seguir.
Los valores de 0.1 se deben a que el ciclo FOR se ejecuta cada
100 milisegundos y, como se repite 100 veces, (100)x(0.1 Seg) =
10 segundos de adquisición de información. La Delta X es para
indicar en la gráfica que el intervalo será de 0.1 segundos. Xo
es el valor inicial de para cada actualización.

Práctica #9 Gráficas, trazos, vectores y clusters 19


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

Tarea:
Genere un VI en el cual se realice un análisis de
temperatura durante 20 segundos (puede utilizar el VI creado
anteriormente) y muestre en el panel frontal el valor máximo y
mínimo de temperatura, así como el promedio de toda la
medición. Además, deberá existir una manera en que el usuario
pueda elegir el orden polinomial para el ajuste.
Guarde el VI con el nombre: Práctica #9 Análisis de temperatura
Apellidos.vi

Aquí será conveniente revisar las funciones matemáticas de


LabVIEW, como también lo visto en arreglos y clusters).

Preguntas

1) ¿Cuáles son las diferencias entre un trazo y un gráfico?

2) ¿Cuáles son los tres modos de actualización de un trazo?


Describa brevemente cada uno.

3) ¿Cómo se crea un arreglo?

4) Se muestra un arreglo de dos dimensiones:

5 6 7 3 2

2 3 34 4 76

12 2 8 45 9

Si se utiliza la función Array Subset en el arreglo, y


asignara los siguientes valores (como se presentan):

Index:2
Lenght:3
Index:3
Lenght:2

¿Qué valor se presentaría como resultado? ¿Será un arreglo


de una o dos dimensiones? ¿Por qué?

Práctica #9 Gráficas, trazos, vectores y clusters 20


Ing. Mario Alberto Camarillo Ramos
Instrumentación

Ingeniería Mecatrónica

5) ¿Cuál es la diferencia entre un cluster y un arreglo?


Explique brevemente.

6) ¿Cuál es la diferencia entre las funciones Bundle y Bundle


By Name? ¿En Unbundle y Unbundle By Name?

Práctica #9 Gráficas, trazos, vectores y clusters 21


Ing. Mario Alberto Camarillo Ramos

También podría gustarte