Você está na página 1de 23

Graficos, Diagramas, Arrays y Clusters en LabVIEW

Sarah Fenney Arizona State University

Parte Instructor
Sumario
El estudiante aprender acerca de la diferencia y similitudes entre Grficos y Diagramas cuando use cada una de ellos. Ellos tambin aprendern a escribir VIs donde incorporaran arrays y clster, lo que significara que combinaran datos.

Usos
Esta tarea se aplica a cualquier curso de Instrumentacin.

Lista de Equipos
Una computadora con LabVIEW 6.1 a mas.

Referencias
LabVIEW Users Manual. November 2001. Part Number 320999D-01. http://www.ni.com/manuals. LabVIEW Student Edition. http://www.ni.com/labviewse. LabVIEW Introduction Course - Six Hours. LabVIEW Introduction Course - Three Hours.

Parte del Estudiante


Introduccion
El estudiante aprender acerca de la diferencia y similitudes entre Grficos y Diagramas cuando use cada una de ellos. Ellos tambin aprendern a escribir VIs donde incorporaran arrays y clster, lo que significara que combinaran datos

Objectivos
Aprender la diferencia entre una tabla y un grafico. Distinguir los 3 modos de actualizacin de una tabla. Aprender como crear un array y manipularlo. Aprender la diferencia entre un Clster y un Array.

Teoria
Grficos, Diagramas, Arrays y Clsteres en LabVIEW Introduccin En esta seccin se aprender las diferencias y similitudes que existen entre Grficos y Diagramas, y cuando usar cada uno. Tambin se estudiara los arrays y clster, y 2 formas de agrupar los datos. Grficos y Diagramas Los Grficos y los Diagramas son empleados para visualizar la forma que van tomando los datos.

Las diferencia entre los Grficos y los Diagramas esta en la forma de visualizar y actualizar los datos. Los Vis que utilizan los Grficos usualmente colectan los datos en un array y luego dibujan los datos en el grafico, el comportamiento es similar a una hoja de clculos que primero almacena los datos y despus genera un dibujo de estos. En contraste, los Diagramas agregan nuevos datos a aquellos que actualmente se estn visualizando. En un Diagrama, se puede apreciar la lectura actual o medicin actual de los datos que son adquiridos. Los Grficos y Diagramas se encuentran localizados en la paleta ControlsGraph los que incluyen los siguientes tipos: Waveform Chart and GraphVisualiza los datos adquiridos a una razn constante. XY GraphVisualiza los datos adquiridos a una razn variable, esto se puede usar para adquirir datos cuando un trigger (nivel de disparo) ocurre. Intensity Chart and GraphVisualiza datos en 3D y en 2D usando diferentes colores para poder visualizar grficos en 3D. Digital Waveform GraphVisualiza datos como pulsos o grupos de lneas digitales. La trasferencia digital entre computadores se hace en esta forma de pulsos. (Windows) 3D GraphsVisualiza Datos en 3D con un objeto ActiveX del Panel Frontal. Se puede personalizar la apariencia de un Grafico o Diagrama mostrando o escondiendo sus diferentes opciones. De un clic derecho en el Grafico o Diagrama y seleccione la opcin Visible Items para visualizar u esconder las siguientes opciones: Plot LegendDefine el estilo y color de los dibujos. Se puede cambiar el tamao de la leyenda para visualizar mltiples dibujos. Scale LegendDefine las escalas de los ttulos y se puede configurar las propiedades de las escalas. Graph PaletteCambia las escalas y formatos mientras se esta ejecutando un VI.

X Scale and Y ScaleCambia el formato de las escalas en el eje x-y en el y. Cursor Legend (nicamente en un Grafico)Visualiza un marcador de posicin en una coordenada definida. Se puede mostrar varios cursores en un solo grafico. Scrollbar (Unicamente en un Diagrama)Sirve para poder desplazarse entre los datos de un Diagrama. Se usa esta herramienta para visualizar los datos que el buffer no se visualiza en algn momento.

Arrays

Los Arrays son grupos de datos del mismo tipo. Un array consiste de elementos y dimensiones. Los Elementos son los datos que forman el array. La dimensin es la longitud, altura, o profundidad de un array. Un array puede contener una o ms dimensiones y 231 1 elementos por dimensin. Se pueden construir arrays numricos, booleanos, trayectorias (path), cadenas, seales, y clster de datos. Considere el uso de arrays cuando se trabaja con una coleccin de datos similares y cuando se ejecutan clculos repetitivos. Los arrays son ideales para almacenar datos de seales o datos generados en bucles, donde cada iteracin de un bucle produce un elemento de un array. No se puede crear arrays de arrays. Sin embargo, se puede usar un array multidimensional o crear un array de clsteres donde cada clster contiene uno o ms arrays. Indices Para localizar un elemento en particular en un array requiere un ndice por dimensin. En LabVIEW, los ndices permiten navegar a travs de un array y recuperar los elementos de filas, columnas, y pginas desde un array en el Diagrama de Bloques. Ejemplos de Arrays

Un ejemplo de un array simple es un array de texto que lista los nueve planetas del sistema solar. LabVIEW representa esto como un array de 1D de cadenas con 9 elementos. Los elementos de un array estn ordenados. El ndice por tanto se usa para acceder a un valor particular del array. El ndice posee un rango que varia entre 0 a n 1, donde n es el numero de elementos de un array. Por ejemplo, n = 9 son los nueve planetas del sistema solar, entonces el rango de los ndices varia desde 0 hasta 8. La Tierra es el tercer planeta, por tanto el ndice que le corresponde es el 2. Otro ejemplo de un array es una seal representada en el cual cada elemento sucesivo tiene el valor de un voltaje en sucesivos intervalos de tiempo. Un ejemplo mas complejo de un arrayes una representacin grafica de puntos, donde cada punto es un clster que contiene que contiene un par de nmeros que representan las coordinadas en X y en Y. Los ejemplos anteriores son de arrays de 1D. Un array de 2D almacena elementos en una rejilla. Esta requiere de un ndice de fila y de columna para localizar el elemento, ambos inician su posicin en el 0. Por ejemplo, un tablero de ajedrez de 8 columnas y 8 filas tiene un total de 64 posiciones. Cada posicin puede estar vaca o contener una pieza del ajedrez. Se puede representar este tablero de ajedrez mediante un array de cadenas en 2D. Cada cadena contiene el nombre de una pieza que ocupa una ubicacin correspondiente en el tablero, o una cadena vaca si la ubicacin esta vaca. Restricciones en los Arrays Se puede crear un array de casi cualquier tipo de datos, con las siguientes excepciones: No es posible crear un array de un array. Sin embargo se puede usar un array multidimensional o usar la funcin Build Cluster Array para crear un array de un clster donde cada clster puede contener uno o mas arrays. No se puede crear un array de un Grafico XY por defecto porque un grafico es un tipo de dato array no se puede crear un array de un array. Sin embargo, se puede tener un array de un grafico XY si el grafico es de un tipo clster.

No se puede crear un array de un diagrama.

Creando Controles, Indicadores y Constantes para Arrays Se puede crear un control o indicador de un array del Panel Frontal ubicndolo dentro del array en el Panel Frontal al ubicar el objeto de datos u elementos, este puede ser numrico, booleano, cadena, trayectoria, refnum, o clster para los controles u indicadores. La estructura del array debera automticamente cambiar su tamao para acomodar el nuevo objeto, ya sea este un control pequeo booleano o uno grande del tipo grafico 3D. Para ver un elemento en particular en el Panel frontal, ya sea el tipo de ndice o escriba el nmero del ndice en el mostrador del ndice o use las flechas para navegar sobre aquel. Para crear una constante dentro de un array en el Diagrama de Bloques , seleccione FunctionsArrayArray Constant para ubicar la estructura del array en el Panel Frontal entonces ubique una constante numrica, de cadena o de clster en dicho esqueleto . Se puede usar un constante de array como base para una comparacin con algn otro array.

Dsiplay del ndice de Array Un array de 2D contiene filas y columnas. En la parte superior izquierda del display es para el ndice de fila y la parte inferior es para el ndice de la columna. En la parte derecha de la fila y la columna se muestra el valor de la posicin especfica. Las filas y las columnas estn basadas en una escala que comienza en 0, lo que significa que la primera columna es la columna 0, la segunda columna es la columna 1 y as sucesivamente. Si intentas mostrar el contenido de una columna o fila que esta fuera del rango de las dimensiones del array, el control del array se

opaca indicando que en esa posicin no existe un valor definido, y LabVIEW mostrar en el display un valor por defecto y un tipo de dato por defecto. El valor por defecto del tipo de dato depende del tipo de array. Use la herramienta de Posicionamiento para mostrar ms de una columna y fila a la vez. Funciones de Array

Use las funciones de Array localizadas en la paleta FunctionsArray para crear y manipular arrays, se puede llegar a usar las siguientes tareas: Extraer datos individuales desde un array. Insertar, borrar, o remplazar elementos en un array. Separar arrays. Funciones para Automticamente cambiar de tamao al Array Las funciones Index Array, Replace Array Subset, Insert Into Array, Delete From Array, and Array Subset automaticamente cambian el tamao y las dimensiones de las entradas del array que se conectaran. Por ejemplo, Si se conecta un array de 1D a una de estas funciones, la funcin muestra un nico ndice de entrada. Si se conecta a un array de 2D la misma funcin, esta muestra 2

ndices para sus entradasuno para las columnas y otro para las filas. Se puede acceder a mas de un elemento o un subarray (fila, columna, o pagina) con esas funciones usando una herramienta de Posicionamiento para manualmente cambiar el tamao de la funcin. Cuando se expande una de estas funciones, la funcin incrementada determina las dimensiones del array que conecta a la funcin. Si se conecta un array de 1D a una des tas funciones, la funcin se expande por un nico ndice de entrada. Si se conecta a un array de 2D la misma funcin, la funcin expande por 2 el ndice de la entrada, una para la columna y otro para la fila. El ndice de entrada que se conecta determina la forma del subarray que se desea acceder o modificar. Por ejemplo, si la entrada de la funcin Index Array es un array 2D y t nicamente conectas la entrada de las filas, t puedes extraer toda la columna del array. Si t conectas nicamente la entrada de la columna, tu extraes la columna completa en un array de 1D. Si t conectas la entrada de la fila y la entrada de la columna, se extrae un nico elemento del array. Cada grupo de entrada es independiente y se puede accede a cualquier parte de la dimensin del array. Para acceder a mltiples valores consecutivos en un array, basta expandir la funcin Index Array, pero no conecte ningn valor a las entradas de ndice de cada incremento. Por ejemplo, para recuperar la primera, segunda y tercera columna de un array 2D, expanda la funcin Index Array por 3 incrementos y conecte un indicador de array de 1D a cada salida del sub-array.

Clusters

Los Clster agrupan datos de diferentes tipos, tales como paquetes de cables, como cables de telfonos, donde cada conexin en el cable representa un elemento diferente del clster. Un clster es similar a un registro o estructura en un lenguaje de programacin basado en texto. Agrupar varios datos en un clster elimina la conexin desordenada en un Diagrama de Bloques y reduce el nmero de conectores transparentes que los subVIs necesitan. El conector transparente tiene a lo mucho 28 terminales. Si tu Panel Frontal posee ms de 28 controles o indicadores los cuales deseas usar programadamente, se pueden agrupar algunos de ellos dentro de un clster y asignarles un terminal del conector transparente. Aunque un clster y un array de elementos estn por defecto ordenados, se debera de ordenar todos los elementos del clster elementos al menos una vez en lugar de indexar elemento por elemento. Tambin se puede usar la funcin Unbundle By Name para poder accede a especficos elementos del clster. Los Clster tambin difieren de los arrays en que ellos son de tamao fijo. Alguna semejanza con un array, es que el clster puede usar controles o indicadores. Pero un clster no puede usar una combinacin de controles e indicadores. Muchos clster en un Diagrama de Bloques poseen un patrn de conexin rosado y un tipo de dato de icono. Los clsteres numricos, algunas veces son referidos como puntos, poseen un patrn de conexin marrn y un tipo de dato de icono. Se puede conectar clsteres numricos a funciones numricas, tales como Add o Square Root, para

poder ejecutar operaciones elementos de un clster.

simultaneas

sobre

los

Los elementos de un clster tienen un orden lgico sin tener en cuenta la posicin que ubican en la estructura. El primer elemento que se ubica en el clster es el elemento 0, el segundo es el elemento 1, y as sucesivamente. Si se borra un elemento, el orden se ajusta automticamente. El orden del clster esta determinado por el orden en el que los elementos han aparecido como terminales con las funciones del Diagrama de Bloques. Se puede revisar y modificar el orden del clster dando un click derecho en el borde y seleccionando la opcin Reorder Controls In Cluster. Para conectar clsteres, ambos clsteres deben de tener el mismo nmero de elementos. Adems los elementos correspondientes de los clsteres deben de tener tipos de datos compatibles. Por ejemplo, si un elemento es un nmero de doble precisin de coma flotante y su correspondiente en el otro extremo es un elemento tipo cadena, la conexin en el Diagrama de Bloques aparecer como rota y el VI no se ejecutara. Si los elementos numricos poseen diferente representacin, LabVIEW automticamente establece una misma representacin.

Las funciones que usan los clsteres estn ubicadas en la paleta localizada en FunctionsCluster y sirven para crear y manipular los clsteres, adems de estas pueden realizar las siguientes tareas: Extraer elementos individuales de un clster. Adicionar elementos individuales de un clster. Romper un clster en elementos individuales.

10

Procedimiento
Parte 1. Monitor de Temperatura VI Complete los siguientes pasos y construya un VI que use un bucle While y un diagrama de Seal (waveform chart) para adquirir y observar datos. 1. Abra un Nuevo VI. 2. Construya el siguiente Panel Frontal .

a. Seleccione el interruptor de palanca de la paleta ControlsBoolean y ubique este en el panel frontal. Se usara este interruptor para la adquisicin de datos. b. Tipee Power dentro del Titulo y de un clic fuera del rea del titulo o pulse la tecla Enter. c. Seleccione un diagrama de seal (waveform chart) en la paleta ControlsGraph y ubquelo en el panel frontal. Este servir para observar la temperatura en tiempo real. d. Tipee Temperature History dentro del rea del titulo.

11

e. El ttulo de la leyenda del diagrama aparecer por defecto Plot 0. Use las herramientas de modificacin de ttulos dando un triple click sobre Plot 0, y tipee Temperatura, y de un click fuera del rea de titulo de la leyenda. f. El sensor de temperatura medir la temperatura de la habitacin. Use la herramienta de titulo dando un doble click en el numero 10.0 ubicado sobre el eje y, y tipee 90. g. Cambie de la misma forma el valor 10.0 del eje y a 70. h. En el titulo del eje y ubique (Deg F) y en el eje x Time (sec). 3. Seleccione WindowShow Diagram para observar el Diagrama de Bloques. 4. Encierre los 2 terminales dentro de un bucle While, como se muestra en la siguiente figura.

a. Seleccione un bucle While de la paleta ubicada en FunctionsStructures.

12

b. De un click y arrastre un cuadrado de seleccin alrededor de los 2 terminales. c. Use la herramienta de posicionamiento para cambiar el tamao del bucle, si es necesario. 5. Seleccione FunctionsTutorialDigital Thermometer.vi. Este retornara un VI de medidas simuladas de temperatura sino se encuentra este Vi se puede usar el dispositivo Build Waveform dentro de FunctionsProgramingWaveform o algn equivalente. 6. Conecte los objetos del Diagrama de Bloques como se muestra en la anterior figura. 7. Guarde el VI como Temperature Monitor.vi. 8. Visualice el panel Frontal dando un click sobre este o seleccionando WindowShow Panel. 9. Use la herramienta Operating para encender el interruptor de palanca y ubquelo en la posicin ON. 10. Ejecute el VI. La seccin del Diagrama de Bloques dentro del bucle While, o subdiagrama, se ejecutara hasta que la condicin sea verdadera. Por ejemplo, mientras el switch este en (TRUE), el Termmetro VI toma y retorna nuevas medidas y se visualiza la forma de onda. 11. De un click en el interruptor de palanca para detener la adquisicin. Con la condicin FALSE, el bucle para su ejecucin. 12. De formato y personalice las escalas de los ejes X y Y del diagrama de la Seal. a. De un click derecho en el diagrama y seleccione Y_ScaleFormatting. La siguiente ventana de dialogo aparece.

13

b. De un click en el icono Scale Style y seleccione diferentes estilos para el eje y. Tambin se puede personalizar diferentes modos de mapeo, opciones de rejilla, factores de escalamiento, formato y precisin. c. Seleccione las opciones mostradas en la figura anterior y presione el botn OK. 13. De un click derecho en el diagrama de la seal y seleccione Data OperationsClearChart para limpiar el contenido del buffer de la pantalla y dar un reset en el diagrama de la seal. Si el VI se esta ejecutando, se puede seleccionar Clear Chart desde el men emergente. 14. Modificando el valor del interruptor de palanca har que la temperatura sea dibujada cada vez que se ejecute el VI. a. Pare el VI si se esta ejecutando. b. Use la herramienta Operating para dar un click en el interruptor de palanca y cambiar este a la posicin ON. c. De un click derecho al interruptor y seleccione Data OperationsMake Current Value Default . Esto establecer la posicin ON como valor por defecto.

14

d. De un click derecho en el interruptor seleccione Mechanical ActionLatch When Pressed. 15. Ejecute el VI. 16. Use la herramienta Operating (cursor) para dar un click en el interruptor de palanca para parar la adquisicin de los datos. El interruptor cambia a la posicin OFF y cambia a la posicin ON despus de que el terminal de condicin lee un valor. Cuando el VI se ejecuta, el bucle While se ejecuta rpidamente. Complete los siguientes pasos para poder adquirir datos en ciertos intervalos, tales como medio segundo, como se muestra en el siguiente Diagrama de Bloques.

a. Ubique la function Wait Until Next ms Multiple localizada en la paleta FunctionsTime & Dialog. Esta funcin asegura que en cada iteracin ocurra cada (500 ms). b. De un click derecho en la entrada millisecond multiple de la funcin Wait Until Next ms Multiple, y seleccione CreateConstant , tipee 500,y presione la tecla <Enter> . La constante numrica

15

especificara una demora de 500 ms entonces el bucle se ejecutara cada medio segundo. c. En el Panel Frontal, de un click derecho en el diagrama y seleccione X ScaleFormatting. Cambie el valor de X a 0.5 porque se esta aadiendo 500 ms de retraso en las iteraciones. 17. Guarde el VI. 18. Ejecute el VI. 19. Ingrese diferentes valores para la constante numrica y ejecute el VI. 20. Cierre el VI.

16

Parte 2. Anlisis de la Temperatura VI En la parte 2, se aprender a usar diagramas, grficos, arrays, y clsteres para construir un VI que mida la temperatura cada 0.25 s a 10 s. Durante la adquisicin de datos, el VI mostrara las medidas en tiempo real en el diagrama de seales. Despus que la adquisicin se haya terminado, el VI dibujara los datos en un grafico y calculara el valor mnimo, mximo, y el promedio de las temperaturas. El VI mostrara el mejor acomodamiento de escalas del grafico de temperatura. 1. Abra un Nuevo VI y construya el siguiente Panel frontal usando los siguientes consejos.

Establezca el estilo de los puntos del diagrama de seales a una pequea x. Oculte la leyenda diagrama de seales. De un click derecho en el diagrama de seales, seleccione X ScaleFormatting, y modifique .X a 0.25 y Digits of Precision a 2. Use la herramienta de Posicionamiento para cambiar el tamao del grafico de la seal.

17

Use la herramienta de titulo para renombrar Plot 0 a Temp y Plot 1 a Fitted. Establezca el estilo del punto del grafico de la seal Temp a un pequeo cuadrado. Aun no cree los indicadores Mean, Max, y Min. 2. Construya el siguiente Diagrama de Bloques.

a. Seleccionar FunctionsTutorialDigital Thermometer.vi. Este retornara las medidas simuladas de la temperatura o crear algn equivalente a este. b. Ubique la funcin Wait Until Next ms Multiple localizada en la paleta FunctionsTime & Dialog y cree una constante de 250. Esta funcin causara que el bucle For se ejecute cada 0.25 s (250 ms). c. Ubique la funcin Array Max & Min localizada en la paleta FunctionsArray. Esta funcin retornara los valores mximos y mnimos de la temperatura.

18

d. Ubique la funcin Mean VI localizada en la paleta FunctionsMathematicsProbability and Statistics. Este VI retornara el promedio de las medidas de temperatura. e. Dar un click derecho a los terminales de salida de la funcin Array Max & Min y Mean VI y seleccione CreateIndicator desde el men para crear los indicadores Max, Min, y Mean. f. Ubicar el General Polynomial Fit VI localizado en la paleta FunctionsMathematicsCurve Fitting. Este VI retorna un array que encaja en un polinomio que encajara al array de la temperatura g. Ubicar la funcin Bundle localizada en la paleta FunctionsCluster. Presionar la tecla <Ctrl> mientras se arrastra la funcin para copiarla. Esta funcin ensambla los elementos del dibujo en un nico clster. Los elementos incluyen un valor inicial x (0), el valor .x (0.25), y el array y donde se ubican los datos de la temperatura. El valor .x de 0.25 es requerido entonces el VI dibuja el array de temperatura cada 0.25 s en el diagrama de la seal. h. Ubicar la funcin Build Array localizada en la paleta FunctionsArray. Esta funcin crea un array de clsteres desde el clster de la temperatura y el clster con los datos acomodados. 3Guarde el VI como Temperature Analysis.vi. 4. Mostrar el panel frontal y ejecutar el VI. El grafico mostrara ambos datos de la temperatura y el mejor acomodamiento posible de la seal de temperatura. 5. Pruebe diferentes valores para la constante del orden del polinomio en el Diagrama de bloques y ejecute de nuevo el VI. 6. Cambie la apariencia de los dibujos modificando el estilo del dibujo y el estilo de llenado. a. Dar un click derecho en la leyenda del dibujo Temp y seleccione Common PlotsScatter Plot, opcin top middle. b. Dar un click derecho en la leyenda del dibujo Fitted y seleccione Bar Plots, y seleccione la segunda opcin de la mitad de la fila.

19

7. Guarde y Cierre el VI.

20

Parte 3. Encontrar el valor medio VI Se aplicara los conocimientos ganados de arrays para escribir un VI que implemente varias funciones de arrays. Construya un VI que primero acumule en un array los valores de la temperatura usando el Digital Thermometer VI. Incorpore estos tems: Establezca el tamao del array a travs de un control en el Panel Frontal. Inicialice el array usando la funcin Initialize Array con el mismo tamao donde todos los valores sern iguales a 10. Adiciones 2 arrays, calcule el tamao del array final, y extraiga el valor medio del ltimo array. Muestre el Array de Temperatura, Array Inicializado, y el Array Final, y el de Valor Medio.

Guarde el VI como Find Mid Value.vi.

21

Reporte
Preguntas 1. En que se diferencia un Diagrama de un grafico?

2. Cuales son los 3 modos de actualizacin de valores de un Diagrama? Describa brevemente cada uno de ellos.

3. Como se puede crear un array?

4. Del siguiente array 2D : 2 4 7 5 1 6 9 3 4 5 2 5 8 4 9

a. Que numero es el del ndice [1,3]? b. Si se usa una funcin Array Subset en el array, y se asigna los siguientes valores de entrada: index: 2 length: 3 index: 3 length: 2 Que valor nos retornara el array? Los valores retornados ser un array de 1D o de 2D?

22

5. Cuales son las diferencias entre un clster y un array?

6. Cual es la diferencia entre las funciones Bundle y Bundle by Name? Unbundle y Unbundle by Name?

23

Você também pode gostar