Está en la página 1de 43

PROGRAMA DE INSTRUMENTACIN VIRTUAL LABVIEW

USO DE LabVIEW En este apartado se discuten los aspectos necesarios para familiarizarse con el uso de LabVIEW, incluyendo las ventanas Panel y Diagram, mens de LabVIEW y la ventana de jerar u!a" #simismo se discuten otros aspectos necesarios como el uso de los modos edit y run; creaci$n

de objetos% &erramientas y obtenci$n de ayuda" Ventanas Pane ! Dia"ra# 'ada VI tiene dos ventanas separadas, pero relacionadas entre s!" La ventana Pane contiene el panel frontal de nuestro Vi" La ventana Dia"ra# es a uella en la cual se construye el diagrama de blo ues" (e puede conmutar entre ambas pantallas con el comando S$%& Pane 'S$%& Dia"ra# )*ostrar Panel+*ostrar Diagrama, de- men Wind%&s )Ventanas," .sando los comandos Ti e )literalmente /baldosas/% podemos traducir por Parcelas,, dentro de ese mismo men, podemos posicionar las ventanas Pane y Dia"ra# una al lado de la otra o una encima de la otra"

Men(s de LabVIEW La programaci$n en LabVIEW obliga a utilizar con frecuencia los diferentes mens" La barra de mens de la parte superior de la ventana de un Vi contiene diversos mens )u *+d%&n )desplegables," 'uando &acemos clic sobre un !tem o elemento de esta barra, aparece un men por debajo de ella" Dic&o men contiene elementos comunes a otras aplicaciones Windo0s, como O)en )#brir,, Sa,e )1uardar, y Paste )Pegar,, y muc&as otras particulares de LabVIEW" La siguiente figura muestra la barra de mens para la versi$n 2"3 cuando la ventana Pane est4 activa" El men -un.ti%ns reemplaza al C%ntr%is cuando la ventana Dia"ra# est4 abierta"

-i e )#rc&ivo,

(us opciones se usan b4sicamente para abrir, cerrar, guardar imprimir Vis"

Edit )Edici$n,

(e usa principalmente para organizar el panel frontal y el diagrama de blo ues y establecer nuestras preferencias"

O)erate )5unci$n,

(us comandos sirven para ejecutar el Vi"

C%ntr% s )'ontroles, 'on este men, podemos a6adir controles e indicadores al panel frontal" 'ada opci$n dentro de este men visualiza una paleta con los controles e indicadores para esa opci$n" El men C%ntr%is s$lo est4 disponible cuando la ventana Pane est4 activa"

-un.ti%ns )5unciones, 'onstruimos el diagrama de blo ues con este men" 'ada opci$n visualiza una paleta con sus -conos disponibles" El men -un.ti%ns s$lo est4 disponible cuando la ventana Dia"ra# est4 activa" Wind%&s )Ventanas, (e usa para situar r4pidamente las ventanas abiertas y para abrir ventanas de los diferentes subVIs" Te/t )8e9to, 0ei) )#yuda, (e utiliza para cambiar la fuente, estilo y color de- te9to" Presenta ayuda sobre los diferentes -conos y otros aspectos de LabVIEW" En el caso de la versi$n :";, este men &a uedado de la siguiente manera<

E9actamente igual para las ventanas Pane y Dia"ra#1 Las funciones de estos comandos respecto a la versi$n 2"3 son< -i e )#rc&ivo, Edit )Edici$n, O)erate )5unci$n, Pr%2e.t )Proyecto, *isma funci$n" *isma funci$n" Presenta nuevas opciones como pueden ser la impresi$n cuando acaba la ejecuci$n" Presenta los niveles de jerar u!a, los subvis ue lo integran, los ue est4n sin abrir, busca Vis, etc" Wind%&s )Ventanas, (e utiliza b4sicamente para mostrar 3S$%&4 ventanas, como pueden ser las de informaci$n, &istoria-, controles+funciones, &erramientas, portapapeles, etc" 0e ) )#yuda, *isma funci$n"

El men de LabVIEW ue utilizaremos con m4s frecuencia es el men )%)+u) )emergente, de objetos, al cual accedemos situando el cursor sobre el objeto en cuesti$n y pulsando el bot$n

derec&o de- rat$n" (i la pulsaci$n se &ace sobre un espacio vac!o, el men ue se obtendr4 vendr4 en funci$n de la &erramienta seleccionada"

Us% de %s #%d%s EDIT 3Edi.i5n4 ! RUN 3E2e.u.i5n4 Podernos crear o cambiar un VI cuando =ste est4 en el modo Edit1 En =l, las &erramientas de edici$n se &abilitan en la paleta de- modo Edit6 por debajo de la barra de- men de ventana, como se indica a continuaci$n<

'uando estamos listos para probar nuestro VI, &acemos clic sobre el bot$n de modo > o seleccionamos C$an"e t% Run M%de )'ambio al *odo de Ejecuci$n, desde el men O)erate1 ?aciendo esto compilamos el Vi y lo ponemos en el modo Run1 En este punto podemos disponer de las opciones de depuraci$n, ejecuci$n de- VI, diferentes modos de ejecuci$n, impresi$n de datos, etc" (i lo ue ueremos es ejecutar el Vi desde el modo Edit sin pasar al modo Run6 &emos de &acer clic sobre la flec&a de ejecuci$n" (i fuese necesario, LabVIEW compilar!a primero el VI, despu=s conmuta al modo Run6 ejecuta el Vi y vuelve al modo Edit una vez ue el Vi se &a ejecutado" @ste es uno de los puntos ue &a sufrido una mayor modificaci$n en la versi$n Los iconos correspondientes a estos modos se indican a continuaci$n<

(e puede observar ue es a u! donde aparece el tratamiento de los diferentes tipos de letras )en la versi$n 2"3 lo &ac!amos con Te/t4 y la alineaci$n y distribuci$n de objetos" #s! mismo vemos ue no aparece ninguna &erramienta" En la nueva versi$n se &an independizado pasando a tener una ventana propia, a la cual accedemos con S$%& T%% s Pa ette )*ostrar paleta de &erramientas, del men Wind%&s1

Atro aspecto a destacar es el bot$n Pause )pausa, I*" #l &acer clic en =l se para la ejecuci$n del VI y vamos al diagrama de blo ues, parpadeando la siguiente secuencia ue se ejecutar4"

Crea.i5n de %b2et%s

Para elaborar el panel frontal &emos de situar sobre =l los objetos deseados mediante su selecci$n desde el men C%ntr% s1 'reamos objetos sobre el diagrama de blo ues seleccion4ndolos desde el men -un.ti%ns1 Por ejemplo, si ueremos crear un Bnob o bot$n rotatorio sobre el panel frontal, primero C&emos de seleccionarlo desde la paleta Nu#eri. )Dum=rico, del men C%ntr% s6 como se indica en la siguiente figura 7"7"

El objeto aparecer4 en la ventana Pane con un rect4ngulo negro o gris ue representa una eti ueta de identificaci$n o Labe 1 (i ueremos usarla en ese mismo momento, introduciremos el te9to desde el teclado" Despu=s de &aber!o &ec&o, cual uiera de las siguientes acciones completa la entrada< E Pulsar F (&ift G Enter H E Pulsar F Enter H de- teclado num=rico" E 'lic sobre el bot$n Enter en la paleta de &erramientas" E 'lic fuera de la eti ueta"

'uando creamos un objeto sobre el panel frontal, al mismo tiempo se crea el termina- correspondiente sobre el diagrama de blo ues" Este terminal se usa tanto para leer datos desde un control como para enviarlos a un indicador" (i se selecciona S$%& Dia"rarn )*ostrar Diagrama, desde el men Wind%&s6 podremos ver el diagrama correspondiente al panel frontal" Este diagrama contendr4 terminales para todos los controles e indicadores de- panel f rontal"

8odos los objetos en LabVIEW tienen asociados mens )%)+u)6 los cuales podemos obtener pulsando el bot$n derec&o del rat$n sobre dic&o objeto" *ediante la selecci$n de sus diferentes opciones podremos actuar sobre determinados par4metros, como el aspecto o comportamiento de ese objeto" Por ejemplo, si no &ubi=semos introducido te9to en la eti ueta del control anterior, =sta &abr!a desaparecido al &acer clic en cual uier otro lado" Para volver # visualizarla tendr!amos ue obtener el men )%)+u) de ese control y seleccionar Label de- men S$%& )figura 7":,"

En la versi$n :"; el proceso en s! es el mismo" La nica diferencia es ue no tenemos los mens C%ntr%is y -un.ti%ns en la barra superior, sino ue son ventanas flotantes ue podemos tener visibles o no" (i no lo est4n, utilizaremos la opci$n S$%& C%ntr% s Pa ette )*ostrar paleta de controles, o S$%& -un.ti%ns Pa ette )*ostrar paleta de funciones, del men Wind%&s1 .na vez visibles actuaremos tal y como se &a indicado para la versi$n 2" l" Atra opci$n es &acer clic con el bot$n derec&o de- rat$n en cual uier 4rea libre de la pantalla< #parecer4 el men C%ntr% s o -un.ti%ns segn estemos en la ventana Pane o Dia"rarn6 respectivamente" 0ERRAMIENTAS DE LabVIEW .na &erramienta es un modo de funcionamiento especial del rat$n" Las usamos para llevar a cabo funciones espec!ficas de edici$n o ejecuci$n" La &erramienta O)eratin" )5uncionamiento, maneja los controles de- panel frontal )y los indicadores en el modo Edit41 Es la nica &erramienta disponible en el modo Run1 La &erramienta P%siti%nin" 7 )(ituaci$n, selecciona, mueve y redimensiona objetos"

ELa &erramienta Labe in" L# )Eti uetado, crea y edita te9tos" ELa &erramienta Wirin" -CM 3 )'ableado, enlaza objetos del diagrama de blo ues y asigna a los terminales del conector del Vi los controles e indicadores del panel frontal"

ELa &erramienta C% %rin"

)'oloraci$n, colorea diversos objetos y los fondos"

(e puede cambiar de &erramienta &aciendo lo siguiente< E'lic sobre el icono de la &erramienta ue ueremos" E.sando la tecla 8#N para seleccionar la siguiente &erramienta" EPulsando la tecla (P#'E para cambiar entre la &erramienta O)erat8n" y P%siti%nin" cuando la ventana Pane est4 activa, y entre las &erramientas Wirin" y P%siti%nin" cuando la ventana Dia"ra# es la activa" La versi$n :"; implementa nuevas &erramientas y cambia el nombre de las ya e9istentes< E O)erate Va ue )Valor Aperativo, ?" *isma funci$n ue O)eratin"1 P%siti%n'Si9e'Se e.t )(ituaci$n8ama6o + (elecci$nC, *" Oealiza la misma funci$n ue P%siti%nin:1 Edit Te/t )Edici$n de 8e9to, *isma funci$n ue Labe in"1 E C%nne.t Wire )'one9i$n de 'ables, P" *isma funci$n ue Wirin"1 Ob2e.t P%)u) )*en popQup del objeto, *" 5unci$n nueva" Despliega el men popQup asociado al objeto" 8iene el mismo efecto ue si pulsamos el bot$n derec&o del rat$n sobre el objeto" S.r% Wind%& )Desplazamiento de la pantalla, IR" 5unci$n nueva" Desplaza la pantalla en la direcci$n ue deseemos para ver posibles zonas ocultas"

Set'C ear Brea;)%int )Establecer+>uitar puntos de ruptura, 4l" 5unci$n nueva" Permite poner tantos puntos de ruptura como deseemos a lo largo del diagrama de blo ues" 'uando durante la ejecuci$n se llega a uno de ellos, LabVIEW conmuta autom4ticamente al diagrama de blo ues" .samos esta misma &erramienta para uitar los puntos" Pr%be Data )(onda de datos, 2" 5unciona como la opci$n Pr%be de la versi$n 2"3

TIPOS DE DATOS EN LABVIEW1 CONTROLES E INDICADORES LabVIEW ofrece una gran variedad de tipos de datos con los ue podemos trabajar respondiendo a las necesidades reales con las ue nos encontraremos" .no de los aspectos m4s significativos de LabVIEW es la diferenciaci$n ue efecta en el diagrama de blo ues entre los diferentes tipos de controles o indicadores, basada en ue cada uno de ellos tiene un color propio" De esta manera, y como consecuencia de una memorizaci$n o asimilaci$n pr4ctica, nos ser4 muy f4cil identificarlos y reconocer inmediatamente si estamos trabajando con el tipo de datos adecuado" Distinguimos los siguientes tipos, los cuales pueden funcionar tanto como controles como indicadores )entre par=ntesis ueda reflejado el color con el ue ueda representado en el diagrama de blo ues,< Noolean )verde claro, Los tipos de datos booleanos son enteros de 3J bits" El bit m4s significativo contiene el valor Nooleano" (i el bit 3I se pone a 3, entonces el valor del control o indicador es true )verdadero,% por el contrario, si este bit 3I vale ;, el valor de la variable booleana ser4 <a se )falso,"

Dum=ricos< ?ay diferentes tipos E9tended )naranja,

(egn el modelo de ordenador ue estemos utilizando los nmeros de coma flotante con precisi$n e9tendida presentan el siguiente formato<

*acintos&< TJ bits )formato precisi$n e9tendida *'JSSS3 Q *'JSSS7, Windo0s< S; bits )formato precisi$n e9tendida S;7SK, (un< 5ormato 37S bits (on almacenados como los nmeros en coma flotante de doble precisi$n" ?PQ.U<

Double )naranja,

Los nmeros en coma flotante de doble precisi$n cumplen con el formato de doble precisi$n IEEE de J: bits" Es el valor por defecto de LabVIEW"

3;

(ingle )naranja, Los nmeros en coma flotante de precisi$n simple cumplen con el formato de precisi$n simple IEEE de 27 bits" Long lnteger )azul, Los nmeros enteros largos tienen un formato de 27 bits, con o sin signo" Word lnteger )azul, Estos nmeros tienen un formato de 3J bits, con o sin signo"

Nyte lnteger )azul, 8ienen un formato de S bits, con o sin signo" .nsigned Long )azul, Entero largo sin signo" .nsigned Word )azul, Palabra sin signo" .nsigned Nyte )azul, Nyte sin signo" 'omple9 E9tended )naranja,Dmero complejo con precisi$n e9tendida" 'omple9 Double )naranja, 'omplejo con precisi$n doble" 'omple9 (ingle )naranja, 'omplejo con precisi$n simple" #rrays )depende del tipo de datos ue contenga, LabVIEW almacena el tama6o de cada dimensi$n de un array como %n" inte"er seguido por el dato" El ejemplo ue sigue muestra un array unidimensional con nmeros en coma flotante de precisi$n simple" Los nmeros decimales a la iz uierda presentan el desplazamiento donde empieza cada array en la posici$n de memoria"

33

Los arrays booleanos se almacenan de manera diferente a los booleanos escalares" Estos arrays se almacenan como bits empa uetados" El tama6o de la dimensi$n viene dado en bits en lugar de bytes" El bit ; se guarda en la posici$n m4s alta de memoria )73I,, y el bit 3I en la posici$n m4s baja )7;,"

La figura 2"3 muestra un ejemplo de un array booleano biQdimensional" El elemento ; de cada dimensi$n se almacena en una nueva palabra entera ignor4ndose los bits sin usar de las

dimensiones previas"

(trings )rosa, LabVIEW almacena los strings como si fueran un array un-Qdimensional de bytes enteros )caracteres de S bits,"

?andies

.n &andie es un puntero ue apunta a un blo ue de memoria relocalizable" .n &andie s$lo apunta a datos definidos por el usuario" LabVIEW no reconoce u= es lo ue &ay en ese blo ue de memoria" Es especialmente til para pasar un blo ue de

37

datos por referencia entre nodos de interficie de c$digo )'ode Interface Dodes o 'iDs," Pat&s )verde oscuro, LabVIEW almacena las componentes tipo y nmero de un pat& en palabras enteras, seguidas inmediatamente por las componentes de- pat&" El tipo de pat& es ; para un pat& absoluto y 3 para un pat& relativo" 'ual uier otro valor indicar!a ue el pat& no es v4lido" 'ada componente del pat& es una cadena Pascal )PQstring,, en la cual el primer byte es la longitud de la PQstring )sin incluir el byte de longitud," 'lusters )marr$n o rosa, .n cluster almacena diferentes tipos de datos de acuerdo a las siguientes normas< Los datos escalares se almacenan directamente en el cluster% los arrays, strings, &andies y pat&s se almacenan indirectamente" El cluster almacena un &andie ue apunta al 4rea de memoria en la ue LabVIEW &a almacenado realmente los datos"

Para conectar terminales se usa la &erramienta Wirin" )cableado," PROGRAMACIN ESTRUCTURAL # la &ora de programar, muc&as veces es necesario ejecutar un mismo conjunto de sentencias un nmero determinado de veces, o ue =stas se repitan mientras se cumplan ciertas condiciones" 8ambi=n puede ocurrir ue ueramos ejecutar una u otra sentencia dependiendo de las condiciones fijadas o simplemente forzar ue unas se ejecuten siempre antes ue otras" Para ello LabVIEW dispone de cuatro estructuras f4cilmente diferenciables por su apariencia y disponibles en la opci$n Stru.tures de- men -un.ti%n de la ventana Dia"ra#=

ESTRUCTURAS ITERATIVAS= -OR LOOP > W0ILE LOOP 5AOLAAP

32

.saremos -%r L%%) cuando ueramos ue una operaci$n se repita un nmero determinado de veces" (u e uivalente en lenguaje convencional es< 5or i V ; to DQ3 Ejecuta subdiagrama #l colocar un -%r L%%) en la ventana Dia"ra# observamos ue tiene asociados dos terminales< 3"Q 8erminar contador< 'ontiene el nmero de veces ue se ejecutar4 el subdiagrama creado en el interior de la estructura" El valor del contador se fijar4 e9ternamente )ver tambi=n Arra!s en el cap!tulo J," 7"Q 8ermina- de iteraci$n< Indica el nmero de veces ue se &a ejecutado la estructura< 'ero durante la primera iteraci$n, uno duretnte la segunda y as! &asta DQ3" #mbos terminales son accesibles desde el interior de la estructura, es decir, sus valores podr4n formar parte del subdiagrama pero en ningn caso se podr4n modificar"

3:

W?ILE LAAP .saremos W$8 e L%%) cuando ueramos ue una operaci$n se repita mientras una determinada condici$n sea cierta" (u e uivalente en lenguaje convencional es< D% ejecutar subdiagrama W$i e condici$n is TRUE )#un ue esta estructura es m4s similar al comando Repeat-Untl, ya ue se repite como m!nimo una vez, independientemente del estado de la condici$n,"

#l igual ue -%r L%%) contiene dos terminales< 3"Q8erminal condicional< # =l conectaremos la condici$n ue &ar4 ue se ejecute el subdiagrama" LabVIEW comprobar4 el estado de este termina- al final de cada iteraci$n, si su valor es 8O.E )verdadero, continuar4, pero por el contrario si su valor es 5#L(E )falso, detendr4 la ejecuci$n" 7"Q 8erminal de iteraci$n< Indica el nmero de veces ue se &a ejecutado el bucle y ue, como m!nimo, siempre ser4 una )-VA," A &acer popQup tanto en el -%r L%%) como en el W$8 e L%%) se despliega el siguiente men< )La versi$n :"; presenta adem4s la opci$n de #yuda en L!nea u On ine 0e )41 E (&o0 Label< Aculta o visualiza la eti ueta de identificaci$n de- L%%) !6 si no e9iste, permite ponerla" E Description< Permite a6adir comentarios" EOeplace< 'ambia el -%r L%%) o el W$i e L%%) por cual uier otra funci$n de la paleta Stru.ts ? C%nstants1 E Oemove Loop< Norra la estructura W$i e o -%r pero sin eliminar el subdiagrama de su interior"

3I

Add (&ift Oegister< #6ade los s$i<t re"ister )registros de desplazamiento,"

REGISTROS DE DESPLA@AMIENTO Los registros de desplazamiento o s$i<t re"ister son variables locales, disponibles tanto en el -%r L%%) como en el W$i e L%%)6 ue permiten transferir los valores de- final de una iteraci$n al principio de la siguiente" Inicialmente s$i<t re"ister tiene un par de terminales colocados a ambos lados de- L%%); el terminal de la derec&a almacena el valor final de la iteraci$n &asta ue una nueva &ace ue este valor se desplace al terminal de la iz uierda, uedando en el de la derec&a el nuevo valor" .n mismo registro de, desplazamiento puede tener m4s de un terminal en el lado iz uierdo% para a6adirlo escogeremos la opci$n Add E e#ent )a6adir elemento, de- men popQup" 'uantos m4s terminales tengamos en el lado iz uierdo m4s valores de iteraciones anteriores podremos almacenar"

3J

El men popQup tiene otros dos comandos< Oemove element< Norra un terminal de- lado iz uierdo siempre y cuando el registro de desplazamiento tenga asociado m4s de uno" Oemove #l-< Norra todo el registro de desplazamiento, tanto los term!nales de la iz uierda como el de la derec&a" .n mismo L%%) puede tener varios registros de desplazamientos siendo conveniente inicializarlos, para ue los terminales de la iz uierda tengan el valor deseado cuando se produzca la primera iteraci$n" S$i<t re"ister puede trabajar con cual uier tipo de datos siempre y cuando los datos ue se conecten a cada terminal sean de- mismo tipo" #l finalizar la ejecuci$n de todas las iteraciones el ltimo valor uedar4 en el terminal de la derec&a% uni=ndolo a un indicador de- mismo tipo de dato fuera de- L%%) podremos obtener su valor" Pero e9iste otra posibilidad para pasar datos de forma autom4tica desde el interior de la estructura al e9terior" 'uando un cable atraviesa los l!mites de- L%%)6 aparece en el borde un nuevo terminal llamado tnel ue &ace de cone9i$n entre el interior y el e9terior, de forma ue los datos fluyen a trav=s de =l despu=s de cada iteraci$n de- L%%)6 pudiendo guardar de esta manera no s$lo el ltimo valor de todas las iteraciones sino tambi=n los valores intermedios" # esta posibilidad ue tienen tanto el -%r como el W$i e de acumular arrays en sus l!mites autom4ticamente se le llama aut%+ inde/in" o autoinde9ado" LabVIEW &abilita por defecto aut%+inde/in" en el -%r L%%) ya ue es m4s frecuente utilizar esta estructura para crear arrays ue no el W$i e L%%)6 en el cual esta opci$n est4 des&abilitada por defecto y cuya utilizaci$n podr!a provocar : POA1O#*#'IWD E(8O.'8.O#D# problemas de memoria debido a ue no sabemos cuantas veces se va a ejecutar" Do obstante, &aciendo popQup en el tnel se puede &abilitar o des&abilitar esta opci$n" ESTRUCTURAS CASE > SEAUENCE

3K

Este tipo de estructuras se diferencia de las iterativas en ue puede tener mltiples subdiagramas, de los cuales solamente uno es visible a la vez" En la parte superior de cada estructura e9iste una pe ue6a ventana ue muestra el identificador de- subdiagrama ue se est4 mostrando" # ambos lados de esta ventana e9isten dos botones ue decrementan o incrementan el identificador de forma ue podamos ver el resto de subdiagramas" '#(E .saremos la estructura Case en a uellas situaciones en las ejecutar4 en correspondencia uno de los n subdiagramas" La estructura Case consta de un termina- llamado selector y un conjunto de subdiagramas, cada uno de los cuales est4 dentro de un case o suceso y eti uetado por un identificador del mismo tipo ue el selector% =ste ser4 booleano o num=rico" (i se conecta un valor booleano al selector, la estructura tendr4 dos Case= 5alse y 8rue" Pero si se conecta un valor num=rico la estructura podr4 ue el nmero de alternativas

disponibles sean dos o m4s" (egn u= valor tome el selector dentro de los n valores posibles, se

tener &asta 73: Case1

En este caso la estructura Case engloba dos sentencias diferentes de otros lenguajes convencionales<

3S

3"Q 7"Q

lf condici$n true t&en ejecutar case true else ejecutar case false 'ase selector of l<ejecutar case 3% n<ejecutar case n end

Case no cuenta con los registros de desplazamiento de las estructuras iterativas pero s! podemos crear los tneles para sacar o introducir datos" (i un case o suceso proporciona un dato de salida a una determinada variable ser4 necesario ue todos los dem4s tambi=n lo &agan% si no ocurre de esta manera ser4 imposible ejecutar el programa"

(E>.ED'E Esta estructura no tiene su &om$loga en los diferentes lenguajes convencionales, ya ue en =stos las sentencias se ejecutan en el orden de aparici$n pero, como ya sabemos, en LabVIEW una funci$n se ejecuta cuando tiene disponible todos los datos de entrada" (e produce de esta manera una dependencia de datos ue &ace ue la funci$n ue recibe un dato directa o indirectamente de otra se ejecute siempre despu=s, cre4ndose un flujo de programa"

3T

Pero e9isten ocasiones en

ue esta dependencia de datos no e9iste y es necesario

ue un

subdiagrama se ejecute antes ue otro% es en estos casos cuando usaremos la estructura Se:uen.e para forzar un determinado flujo de datos" 'ada subdiagrama estar4 contenido en un <ra#e o marco y estos se ejecutar4n en orden de aparici$n< Primero el frame 0 o marco ;, despu=s el frame 3 y as!, sucesivamente, &asta el ltimo" #l contrario de- Case6 si un <ra#e aporta un dato de salida a una variable los dem4s no tendr4n por u= &acerlo" Pero tendremos ue tener en cuenta ue el dato estar4 solamente disponible cuando se ejecute el ltimo <ra#e y no cuando se ejecute el <ra#e ue transfiere el dato" Debido a la similitud de los mens popQup de la estructuras Case y Se:uen.e vamos a estudiarlos de forma conjunta indicando en cada caso las posibles diferencias ue puedan e9istir<

7;

(&o0 Label< Aculta o visualiza la eti ueta de identificaci$n de la estructura y, si no e9iste, permite ponerla"

Description< Permite a6adir comentarios" Oeplace< 'ambia la estructura Case o Se:uen.e por cual uier otra funci$n de la paleta Stru.ts ? C%nstants1

Oemove 'ase (tructure o (e uence< Norra completamente la estructura Case o Se:uen.e y todos los subdiagramas menos el ue se est= visualizando en el momento de la ejecuci$n de este comando"

#dd (e uence Local )a6adir secuencia local,< Esta opci$n est4 s$lo disponible en el men de la estructura Se:uen.e y se utiliza para pasar datos de un <ra#e a otro" .na pe ue6a flec&a con la punta &acia el e9terior de la estructura indica el <ra#e de origen de la secuencia local, mientras ue una flec&a apuntando &acia el interior indica ue la secuencia local contiene un dato de salida" 8odos los <ra#es posteriores al ue contiene la secuencia local ue origina el dato podr4n disponer de =l, no siendo as! para los <ra#es anteriores en los cuales aparecer4 un cuadrado vac!o ue indicar4 ue los datos no est4n disponibles"

(&o0 'ase o (&o0 5rame< Dos permite ir directamente al subdiagrama ue ueremos visualizar sin tener ue pasar por todos los case o frame intermedios ue pudiera &aber" #l pulsar esta opci$n, un men conteniendo todos los identificadores se desplegar4 y s$lo tendremos ue se6alar con el cursor de- rat$n el ue deseamos ver" (i s$lo &ubiese dos subdiagramas nos aparecer4 directamente el nombre de- nico identificador ue podemos visualizar, como es el caso de- case con selector booleano"

#dd 'ase #fter o #dd 5rame #fter< Este comando inserta un subdiagrama vac!o inmediatamente despu=s de- ue se est4 visualizando"

73

#dd 'ase Nefore o #dd 5rame Nefore< Inserta un subdiagrama vac!o justo un nivel por encima de- ue se est4 visualizando"

Duplicate 'ase o Duplicate 5rame< Inserta una copia de- subdiagrama visible inmediatamente despu=s de =l"

*aBe 8&is 'ase o *aBe 8&is 5rame< *ueve un subdiagrama a otra posici$n"

Oemove 'ase o Oemove 5rame< Norra el subdiagrama visible" Este comando no est4 disponible si solamente e9iste un .ase o un <ra#e1 La versi$n :"; presenta una ligera mejora, pero ue resulta muy til" (e puede ver en el caso de las estructuras Se:uen.e y Case num=rico" En el primer caso, si s$lo &ay una secuencia, no aparece ningn identificador de <ra#e; mientras ue si &ay m4s de uno, se nos indica en cu4l estamos y cu4ntos &ay" Lo mismo pasa con la estructura Case6 s$lo ue, en este caso tendremos, como m!nimo, dos posibles estados" 8odo ello ueda reflejado a continuaci$n<

-%r#u a N%de o nodo de f$rmula es una funci$n de caracter!sticas similares a las estructuras vistas anteriormente, disponible en la paleta Stru.ts ? C%nstants de- men -un.ti%ns6 pero ue, en lugar de contener un subdiagrama, contiene una o m4s f$rmulas separadas por un punto y coma" .saremos -%r#u a N%de cuando ueramos ejecutar f$rmulas matem4ticas ue ser!an complicadas de crear utilizando las diferentes &erramientas matem4ticas librer!as" .na vez escrita la f$rmula en el interior del rect4ngulo s$lo tendremos ue a6adir los terminales ue &ar4n la funci$n de variables de entrada o de salida% para ello desplegaremos el men popQup de la estructura y ejecutaremos el comando Add In)ut )a6adir entrada, o Add Out)ut )a6adir salida," ue LabVIEW incorpora en sus

77

*en popQup 5ormula Dode

5igura :"I 5ormula Dode 'ada variable, adem4s, tendr4 otro men popQup ue permitir4 definirla como de salida si 8ambi=n podremos eliminarla

anteriormente era de entrada, o de entrada si en un principio era de salida 3C$an"e t% Out)ut o 'ambiar a (alida, C$an"e t% In)ut o 'ambiar a Entrada," mediante el comando Re#%,e1 Do &ay l!mite para el nmero de variables o de f$rmulas y nunca podr4 &aber dos entradas o dos salidas con el mismo nombre, aun ue una salida s! podr4 tener el mismo nombre ue una entrada" 8odas las variables de salida deber4n estar asignadas a una f$rmula por lo menos una vez"

La tabla muestra algunas de las funciones de -%r#u a N%de=

abs)9, acos)U, acos&)9, asin)9, asin&)9, atan)9,y,

Devuelve el valor absoluto de 9" 'alcula el coseno inverso de 9 en radianes",l 'alcula el coseno &iperb$lico inverso en radianes" 'alcula el seno inverso de 9 en radia&es" 'alcula el seno &iperb$lico inverso en radianes" 'alcula la tangente inversa de y+9 en radianeg,"

72

atan&)9, 'A()U, cos&)9, cot)9, '(')U, e9p)9, ln)9, log)9, log7)U, ma9)U,M, min)9,y, mod)9Py,P rando sic)9, sign)9,

'alcula la tangente &iperb$lico inversa en radianes" 'alcula el coseno de 9 en radianes" 'alcula el coseno &iperb$lico de 9 en radianes" 'alcula la cotangente de 9 en radianes" 'alcula la cosecante de 9 en radianes" 'alcula el valor de e elevado a 9" 'alcula el logaritmo natural de 9" 'alcula el logaritmo de 9 en base 3 ;" 'alcula el logaritmo de 9 en base 7" 'ompara 9 con y, y devuelve el mayor valor" 'ompara 9 con y, y devuelve el menor valor" 'alcula el cociente de 9+y" 1enera un nmero aleatorio entre ; y 3" 'alcula la secante de 9 en radianes" Devuelve 3 si 9 es mayor ue ;, ; si 9 es igual a ; y Q3 si 9 es menor ue cero"

sin)9, sinc)9, sin&)U,P s rt)9, tan)9,

'alcula el seno de 9 en radianes" 'alcula el seno de 9 dividido porC9 en radianes" 'alcula el seno &iperb$lico de 9 en radianes" 'alcula la ra!z cuadrada de 9" 'alcula la tangente de 9 en radianes"

tan&)9, 'alcula la tangente &iperb$lico de 9 en radianes" VARIABLES LOCALES > GLOBALES Las variables son imprescindibles en cual uier tipo de problemas, ya ue permiten almacenar la informaci$n necesaria para su resoluci$n"

En LabVIEW todos los controles introducidos en el Panel 5rontal ue generan un termina- en la ventana Diagrama van a ser variables, identificabas por el nombre asignado en la eti ueta" Pero

7:

puede ocurrir ue ueramos utilizar el valor de cierta variable en otro subdiagrama o en otro Vi o, simplemente, ue ueramos guardar un resultado intermedio" La forma mas sencilla de &acerlo es generando variables locales y+o globales dependiendo de la aplicaci$n"

V#OI#NLE( LA'#LE( En las variables locales los datos se almacenan en algunos de los controles o indicadores e9istentes en el Panel 5rontal de- Vi creado% es por eso ue estas variables n% sirven para intercambiar datos entre VICs" La principal utilidad de estas variables radica en el &ec&o de ue una vez creada la variable local no importa ue proceda de un indicador o de un control, ya ue se podr4 utilizar en un mismo Diagrama tanto de entrada como de salida" Las variables locales est4n disponibles en el men Stru.ts ? C%nstants de la paleta -un.ti%n y disponen de- siguiente men popQup<

'&ange 8o Oead Local o '&ange 8o Write Local< Permite escoger entre leer o escribir en el control" (elect Item< Visualiza una lista con el nombre de todos los controles e9istentes en el Panel 5rontal y de ella escogeremos el control al cual ueremos ue &aga referencia nuestra variable" Es por esto ue para poder crear la variable local ser4 imprescindible ue el control tenga asignado un nombre de identificaci$n" .na vez creada la variable local, si en algn momento se cambia el nombre del control origen, ser4 necesario cambiar tambi=n el nombre de la variable local ya ue LabVIEW no actualiza los cambios" (&o0 Label< *uestra una eti ueta con el nombre del Vi al ue pertenece la variable local" Description< Permite a6adir comentarios"

7I

Oeplace< (ustituye la variable local por cual uier otra funci$n"

V#OI#NLE( 1LAN#LE( Las variables globales son un tipo especial de VI, ue nicamente dispone de Panel 5rontal, en el cual se define el tipo de dato de la variable y el nombre de identificaci$n imprescindible para despu=s podernos referir a ella"

'uando escogemos la funci$n G %ba de- men Stru.ts ? C%nstants creamos un nuevo terminal en el Diagrama% este terminal corresponde a un VI ue inicialmente no contiene ninguna variable" Para poderias a6adir &aremos doble clic en el terminal y se abrir4 el panel frontal" .na vez abierto, las variables se definen igual ue cual uier control o indicador de un VI normal" Podemos crear un Vi para cada variable global o definirlas todas en el mismo, ue es la opci$n m4s indicada para cual uier aplicaci$n" 'uando terminemos de colocar todas las variables grabaremos el VI y lo cerraremos" (i una vez cerrado ueremos a6adir nuevas variables, bastar4 con volverlo a abrir e introducir los cambios necesarios" Para a6adir nuevos terminales ue &agan referencia a las variables globales creadas, no volveremos a ejecutar la funci$n Global ya ue esto crear!a un nuevo Vi sino ue abriremos el ya e9istente mediante el comando VI"" del men Functon y seleccionaremos la variable en concreto a trav=s del comando Select ltem del men popQup" #dem4s, este mismo men cuenta con otra opci$n ue nos permite utilizar una variable ya creada para leer datos o para almacenarlos< (e trata del comando Change To Read Global o Change To Wrte GlobaL

ATTRIBUTE NODE Los attribute n%des o nodos de atributos se pueden considerar como variables ue dependen nicamente del terminal a partir del cual se &an creado y ue permiten leer o modificar atributos del panel frontal de un control o indicador como, por ejemplo, cambiarlo de color, &acerlo invisible,

7J

desactivarlo, leer posiciones de cursores, cambiar escalas, etc" Para crear un attribu e n%de basta con seleccionar la opci$n Create Attribute Node del men popQup de cual uier control del Panel 5rontal o terminal del Diagrama de Nlo ues )en la versi$n :"; primero desplegamos el men popQ up del objeto y a continuaci$n tomamos la opci$n Create1 Podremos crear un attribute n%de o variable local," .na vez creado aparece en el Diagrama un nuevo nodo ue puede ser tanto de escritura como de lectura" .na pe ue6a flec&a a la iz uierda de- nodo indica ue =ste es de escritura, mientras ue una flec&a a la derec&a indica ue es de lectura" #dem4s los attribute n%des tienen su propio men popQup como se muestra a continuaci$n" E'&ange #l- 8o Oead o '&ange #l- 8o Write< Dependiendo de si el nodo es de escritura o de lectura aparecer4 una opci$n u otra ue nos permitir4 cambiar entre ambas" Debido a ue un mismo attribute n%de puede tener m4s de un termina- usaremos esta opci$n cuando ueramos ue todos ellos sean de escritura o de lectura"

5igura :"J *en popQup de una variable global 5ind 'ontrol< Encuentra el control asociado a dic&o attribute n%de en el Panel 5rontal" 5ind 8ermina-< Encuentra el termina- asociado a dic&o attr8bute n%de en el Diagrama de Nlo ues" 5ind #ttribute Dodes< *uestra todos los attribute n%des e9istentes en el Diagrama y ue est4n asociados a dic&o control" E(&o0 Label< Aculta o visualiza la eti ueta identificativa de- atribu!e n%de1 Description< Permite a6adir comentarios"

7K

Oeplace< (ustituye el attribute n%de por cual uier otra funci$n" '&ange 8o Oead o '&ange 8o Write< 'ambia a modo de escritura o de lectura nicamente el termina- seleccionado dejando los dem4s tal y como estaban"

(elect ltem< Visualiza todos los atributos disponibles para el control asociado al attribute n%de y permite cambiar un atributo por otro diferente" Podemos acceder directamente a esta opci$n coloc4ndonos encima de- atributo iz uierdo del rat$n" Por ejemplo, los atributos para un control num=rico son< ue deseamos cambiar ! pulsando el bot$n

M para un string < Remo e !lement"- Norra el termina- seleccionado" #dd !lement" #6ade un nuevo terminal"

7S

#lgunos controles como los "ra)$ tienen un gran nmero de atributos" *uc&os de estos atributos se agrupan en categor!as, como es el caso de > S.a e *ri<% para un indicador B> Gra)$1 .na pe ue6a flec&a a la derec&a del atributo nos indica ue se trata de una categor!a" (e pueden seleccionar todos los atributos de una categor!a de una sola vez mediante el comando A e e#ents )todos los elementos,, aun ue tambi=n podemos seleccionarlos individualmente escogiendo el atributo espec!fico"

INDICADORES GRA-ICOS En muc&as ocasiones es necesario para una mayor comprensi$n de los resultados obtenidos representarlos gr4ficamente" Para ello LabVIEW dispone de cinco tipos de gr4ficos accesibles desde el men Control$ de- panel 5rontal bajo e tem Graph, divididos en dos grupos< Los %ndcadore$ charl y los %nd%cadore$ graph"

.n indicador graph o indicador gr4fico es una representaci$n b!dimensional dE una o mas gr4ficas" El graph recibe los datos como un blo ue" .n indicador c&artc de trazos tambi=n muestra gr4ficas, pero =ste recibe los datos y los muestra puntc por punto o array por array, reteniendo un cierto nmero de puntos en pantalla mediante un buffer disponible para ello"

7T

INDICADORES C0ART

WAVEFORM CHART
Wa eform chart es un tipo especial de indicador num=rico ue muestra una o mas gr4ficas, reteniendo en pantalla un cierto nmero de datos definido por nosotros mismos" Los nuevos datos se a6aden al lado de los ya e9istentes, de forma ue se pueden comparar entre ellos" Los datos se pueden pasar uno a uno al chart o mediante arrays, Evidentemente es muc&o conveniente pasar mltiples puntos a la vez ya ue de esta manera s$lo es necesario redibujar la gr4fica una vez y no una por cada punto )figura I"3," Es posible dibujar varias gr4ficas en un mismo chart, uniendo los datos de cada gr4fica en un cluster de escalares num=ricos de forma ue cada escalar ue contiene el cluster se considera como un punto de cada una de las gr4ficas para una misma abcisa" (e puede a&orrar tiempo uniendo los clusters en arrays y despu=s pasando todo el array a la gr4fica"

-i"ura C17 Desplegando el men popQup se tiene acceso a las siguientes opciones<

2;

'&ange to 'ontrol o '&ange to Indicator< Dependiendo de si la 0aveforrn es un control o un indicador nos permitir4 cambiar entre ellas" 5ind 8erminal< *uestra el terminal asociado en el Diagrama de blo ues"

(&o0 Label< Permite poner una eti ueta de identificaci$n a la 0aveform c&art y, si ya e9iste, la visualiza" (&o0 Legend< Permite poner una eti ueta de identificaci$n a cada una de las gr4ficas"

(&o0 Palette< #ctiva una paleta ue permite &acer zooms, desplazar la gr4fica de forma r4pida, ajustar autom4ticamente la escala de los ejes, cambiar el formato y la precisi$n de los indicadores num=ricos y elegir entre escala lineal o logar!tmica" (&o0 Digital Display< Es un indicador ue muestra el ltimo valor ue se &a cargado en pantalla" ?ay un indicador por cada gr4fica"

23

(&o0 (crolibar< Permite ver los valores anteriores contenidos en el buffer" (&o0 U (cale< Visualiza la escala de- eje de abcisas" (&o0 M (cale< Visualiza la escala de- eje de ordenadas" Oeinitialize to Default< #ctualiza el ltimo punto obtenido al valor por defecto" *aBe 'urrent Value Default< 'onvierte el ltimo punto obtenido en el valor por defecto" Description< Permite a6adir comentarios" 'lear '&art< Norra el contenido de- buffer"

#uto(cale U< #justa de forma autom4tica el rango de valores de U para una correcta visualizaci$n" #uto(cale M< #justa de forma autom4tica el rango de valores de M para una correcta visualizaci$n" .pdate *ode< Permite escoger entre tres modos de visualizar los nuevosstrip c&art, scope c&art y s0eep c&art" El modo strip c&art es el modo por defecto y consiste en ue cada nuevo valor se coloca a la derec&a del display, mientras ue valores anteriores se desplazan &acia la iz uierda" En el modo scope c&art cada nuevo valor se coloca a la derec&a de- anterior, empezando por el margen iz uierdo del display" 'uando se llega al margen derec&o se borra todo el display y se comienza de nuevo desde la iz uierda" El modo scope c&art es muc&o m4s r4pido ue el modo strip c&art ya ue no es necesario realizar todo el proceso de desplazar la pantalla &acia la iz uierda para cada nuevo punto" El modo s0eep c&art acta como el modo scope c&art, alvo ue a&ora cuando se llega al final de la pantalla, =sta no se borra y se ( comienza de nuevo desde el principio, donde una l!nea vertical se mueve &acia la derec&a cada vez ue se a6ade un nuevo punto" 'reate #ttribute Dode< 'rea un nodo asociado al termina- de- ue procede en el Diagrama de Nlo ues"

27

Oeplace< Permite sustituir la 0aveform c&art por cual uiera de los controles e indicadores del Panel 5rontal" U (cale and M (cale< Permite escoger el estilo de la escala, tipo de rejilla, punto inicial, incremento entre punto y punto, formato y precisi$n de estos puntos" 8ranspose #rray< 'uando se representa m4s de una gr4fica en una misma c&art utilizando arrays, 0aveform c&art interpreta por defecto las filas como gr4ficas diferentes" Pero si a nosotros nos interesa ue sean las columnas las gr4ficas diferentes, utilizaremos este comando para convertir las columnas en filas" (tacB Plots< Dormalmente cuando se representan m4s de una gr4fica todas ellas se sitan en un mismo display" Pero puede ocurrir ue las escalas de las ordenadas sean muy diferentes entre ellas o ue simplemente nos interese representarlas por separado, cada una en un display" Para conseguir esto activaremos el comando (tacB Plot de forma ue cada gr4fica aparecer4 con su propia escala y su propio display" 'uando (tacB Plots est4 activado, en su lugar aparece el comando Averlay Plot ue es el ue dibuja todas las gr4ficas en un mismo display" '&art ?istory Lengt&< *ediante este control podemos fijar el nmero de puntos ue 0aveform c&art almacenar4 en el buffer ue, por defecto, ser4n 3;7:"

INTENSIT> C0ART
*ediante nten$ty chart podemos mostrar datos tridimensionales colocando blo ues de colores sobre planos cartesianos" Para ello crearemos arrays bidimensionales de nmeros donde los !ndices de un elemento corresponder4n a las coordenadas U e M, y el contenido a la coordenada X, ue tendr4 asociado un color para cada posible valor" Previamente ser4 necesario definir la escala de colores ue vamos a utilizar a trav=s de los atr%buye node$ mediante el !tem & Scale lnfo' Color #rray o Color Table, o a trav=s de la rampa de colores visualizada junto a la gr4fica"

22

-i"ura C1D Indi.ad%r intensit! .$art Evidentemente, la escala de colores ue podamos visualizar depender4 de la resoluci$n de nuestro monitor"

'ada vez ue se env!e un nuevo conjunto de datos, estos aparecer4n representados a la derec&a de los ya e9istentes" (nten$ty chart soporta los tres modos de visualizaci$n de )a eform charl y tambi=n dispone de un buffer cuyo tama6o es, por defecto, de 37S puntos" disponibles para nten$%ty chart son pr4cticamente las mismas como son< (&o0 Oamp< Visualiza u oculta la rampa de colores" (&o0 'olor #rray< Permite fijar los colores de la rampa" Las opciones ue para )a eform char%"

nicamente, debido a ue e9iste una nueva coordenada, aparecen en el men opciones para =sta,

2:

(&o0 X (cale< Visualiza u oculta la escala z" #uto(cale X< #justa de forma autom4tica el rango de valores de z a la escala de colores" X scale< Permite escoger el estilo de la escala, tipo de rejilla, punto inicial, incremento entre punto y punto, formato y precisi$n de estos puntos"

INDICADORES GRAP0 W#VE5AO* 1O#P? Wa eform graph representa una serie de valores M e uiespaciados dada siempre una distancia delta de U )YU, comenzando a partir de un valor inicial Uo" # un mismo punto U, s$lo le puede corresponder un valor de M," 'uando se representa una nueva serie de datos, al contrario de lo ue ocurr!a en los indicadores c&art, estos datos reemplazan a los ya e9istentes en lugar de a6adirse al lado, y pierden los valores representados con anterioridad" E9isten dos posibilidades a la &ora de representar una nica gr4fica en una )a eform graph" La primera consiste en unir un array de valores num=ricos directamente a la graph de forma ue =sta interpreta cada valor como un nuevo punto comenzando en UV; e incrementando U en 3 para cada punto" La segunda consiste en crear un cluster en,"el cual, junto con el array de valores, se indica el valor inicial Uo y el incremento #U"

2I

-i"ura C1E Re)resenta.i5n de una s% a "rF<i.a E9iste la posibilidad de representar m4s de un gr4fica en una misma )a eform graph" Para ello es necesario unir los datos de las diferentes gr4ficas en un formato ue LabVIEW sepa interpretar" .tilizar un formato u otro vendr4 determinado principalmente por las caracter!sticas de las gr4ficas a mostrar" #s!, si todas las gr4ficas tienen un mismo escalado U y un mismo nmero de puntos, bastar4 con crear un array bidimensional de valores num=ricos donde cada fila de datos es una nic4 gr4fica" LabVIEW interpretar4 estos datos como puntos en la gr4fica comenzando en UV; e increment4ndola en 3" (i nos interesa cambiar el punto inicial o el incremento de 9, crearemos un cluster ue contendr4 el array bidimensional y los valores de 9o y Y9"

-i"ura C1G Re)resenta.i5n de #( ti) es "rF<i.as .%n e #is#% n(#er% de )unt%s *ediante el comando Tran$po$e #rray de- men popQup podemos &acer ue LabVIEW interprete las columnas como gr4ficas diferentes en lugar de las filas" Puede ocurrir ue el nmero de elementos de cada gr4fica sea diferente" En ese caso es necesario crear un cluster para cada array de datos y despu=s unir todos los clusters en un array" Esto es necesario debido a ue LabVIEW no permite crear arrays de arrays" #l igual ue anteriormente si nos interesa ue el punto inicial sea diferente de cero o ue el incremento sea diferente de 3, crearemos un cluster ue contenga el array de clusters de array y los nuevos valores de Uo y YU"

2J

-i"ura C1C Re)resenta.i5n de #( ti) es "rF<i.as .%n di<erente n(#er%s de )unt%s 5inalmente, si ni el escalado ni el nmero de puntos de la gr4fica es el mismo para todas ellas, lo ue &aremos ser4 crear un cluster por cada gr4fica ue contendr4 un array de datos, un valor Uo y un valor YU" M con todos los clusters de las diferentes gr4ficas crearemos un array" Este ltimo formato es el m4s completo de todos por ue permite fijar un valor Uo y un valor YU diferente para cada gr4fica"

-i"ura C1H Re)resenta.i5n de #( ti) es "rF<i.as .%n di<erente n(#er% de )unt%s ! di<erente es.a ad%

XYGRAPH
En *+ Graph un punto U, puede tener varios valores M, lo ue permite, por ejemplo, dibujar funciones circulares" *+ Greph representa una coordenada )Ui, M,, donde los valores de U no tienen por ue estar e uiespaciados como ocurr!a en la$ )a eform graph" Para representar una nica gr4fica en una *+ Graph e9isten dos posibilidades" La primera consiste en crear un cluster ue contenga un array de datos U y un array de datos M" La segunda consiste en crear un array de clusters, donde cada cluster contiene un valor de U y un valor de M"

2K

-i"ura C1I P%sib es re)resenta.i%nes de una (ni.a B> Gra)$ #l igual ue en las )a eform graph e9iste la posibilidad de representar m4s de una gr4fica en una misma *+ Graph )figura I"S," Pero, en este caso, tan s$lo e9isten dos formatos posibles derivados de los dos formatos vistos anteriormente para una nica gr4fica" El primer formato es un array de gr4ficas, donde cada gr4fica es un cluster de un array U y un array M" M el segundo formato es un array de clusters de gr4ficas, donde cada gr4fica es, a su vez, otro array de clusters conteniendo un valor U y un valor M"

ID8ED(I8M 1O#P? (nten$ty graph es e9actamente igual ue nten$%ty chart salvo ue %nten$%ty graph no retiene valores anteriores, por lo ue cuando un nuevo blo ue de valores se carga, =stos sustituyen a los ya e9istentes" Los comandos disponibles en los mens popQup de los indicadores graph tienen las mismas utilidades ue los descritos en los indicadores chart, por lo ue no se &an mencionado en este apartado" (olamente e9iste una diferencia importante y es ue los indicadores grap& disponen de cursores ue nos permiten movernos por la gr4fica"

2S

-i"ura C1J P%sib es re)resenta.i%nes de #( ti) es B> Gra)$

GRAP0 DURSORS
La paleta de cursores est4 disponible desde la opci$n Sho) Cur$or ,%$play de- men popQup )figura I"T," Dombre del cursor< Permite introducir una eti ueta de identificaci$n del cursor" Podemos tener tantos cursores como deseemos" Posici$n U, Posici$n M < Indica las coordenadas en las ue se encuentra el cursor% en los indicadores nten$ty grap& aparece tambi=n la coordenada X" Podemos mover el

2T

cursor directamente a una posici$n concreta introduciendo las coordenadas del punto deseado"

-i"ura C1K Pa eta de .urs%res (elector del cursor< (elecciona el cursor a mover" (e pueden seleccionar a vez tantos cursores como deseemos" 'ontrol de la apariencia del cursor< #briendo el men mediante el bot iz uierdo del rat$n podemos modificar algunas caracter!sticas del cursor<

'ursor (tyle< (elecciona la forma con la ue se indica el punto sobre el cual encuentra el cursor"

:;

-i"ura C17L Sub#en( Curs%r St! e1 Point (tyle< (elecciona el estilo de- punto ue marca la posici$n del cursor"

-i"ura C177 Sub#en( P%int St! e 'olor" (elecciona el color del cursor" T (&o0 Dame< *uestra el nombre del cursor sobre la gr4fica" Nring to 'enter< *ueve el cursor &asta el centro de la pantalla cambiando las coordenadas de =ste" 1o to 'ursor," *odifica las escalas U e M de forma ue podamos ver el cursor, pero sin cambiar las coordenadas de =ste" 'ontrol del movimiento del cursor< El candado cerrado indica ue el cursor se mover4 siguiendo la gr4fica )opciones Loc- to plot y Snap to po%nt., mientras ue el candado abierto indica ue el cursor se mover4 libremente )opci$n Free." (i

:3

&ubiese m4s de una gr4fica el men nos permitir4 escoger sobre cual de ellas ueremos ue se mueva el cursor" El comando #llo) ,rag, cuando est4 activo, permite desplazar la gr4fica directamente con el puntero del rat$n" 'ontrol de la direcci$n de- cursor< *ueve los cursores seleccionados punto por punto en la direcci$n indicada"

C1G

CONCLUSIONES

#nte los diferentes tipos de indicadores se plantea la necesidad de escoger entre uno u otro" Decir cu4ndo se debe utilizar cada uno es muy dif!cil ya ue depende de cada aplicaci$n y, adem4s, puesto ue en programaci$n no &ay nada imposible, podemos llegar a &acer ue una gr4fica simule el comportamiento de otra% s$lo &ace falta un poco de tiempo y paciencia" Pero s! podemos indicar para u= es aconsejable cada indicador" 'uando tengamos datos ue dependan de- eje de las abcisas y no est=n e uiespaciados en el tiempo tendremos ue utilizar, sin m4s remedio, un indicador *+ Graph" (i los datos dependieran de- eje de las abcisas pero est4n e uiespaciados podremos utilizar un indicador Wa eform Graph si ueremos ue los nuevos datos sustituyan a los anteriores o un indicador Wa eform Chart si ueremos ue los nuevos datos se a6adan a continuaci$n de los ya e9istentes, como puede ser en el caso de un electrocardiograma en el ue interesa ver el comportamiento a lo largo de- tiempo y la utilizaci$n de un indicador Graph supondr!a la p=rdida de informaci$n" Por ltimo, si tenemos ue representar sobre ejes cartesianos funciones de tres variables utilizaremos los indicadores (nten$%ty ya sea Chart o Graph" La versi$n :"; presenta m!nimas diferencias, como pueden ser la creaci$n directa de variables locales o la ayuda en l!nea, pero en cuanto a funcionamiento todo lo dic&o para la versi$n 2,3 es totalmente v4lido"

:7

:2

También podría gustarte