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 jeraru!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 auella en la cual se construye el diagrama de
bloues" (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 Tie
)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"
3
-ie )#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 bloues 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"
7
-un.ti%ns )5unciones, 'onstruimos el diagrama de bloues 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, (e utiliza para cambiar la fuente, estilo y color de- te9to"
0ei) )#yuda, 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<
-ie )#rc&ivo, *isma funci$n"
Edit )Edici$n, *isma funci$n"
O)erate )5unci$n, Presenta nuevas opciones como pueden ser la impresi$n cuando
acaba la ejecuci$n"
Pr%2e.t )Proyecto, Presenta los niveles de jeraru!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
2
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 au! 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 Paette )*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 bloues, 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 bloues 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 etiueta
de identificaci$n o Labe1 (i ueremos usarla en ese mismo momento, introduciremos el te9to
desde el teclado" Despu=s de &aber!o &ec&o, cualuiera 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 etiueta"
I
'uando creamos un objeto sobre el panel frontal, al mismo tiempo se crea el
termina- correspondiente sobre el diagrama de bloues" 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 etiueta del control anterior, =sta &abr!a
desaparecido al &acer clic en cualuier otro lado" Para volver
# visualizarla tendr!amos ue obtener el men )%)+u) de ese control y seleccionar Label de- men
S$%& )figura 7":,"
J
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 Paette )*ostrar paleta de
controles, o S$%& -un.ti%ns Paette )*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 cualuier 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"
K
E La &erramienta Labein" L# )Etiuetado, crea y edita te9tos"
ELa &erramienta Wirin" -CM 3 )'ableado, enlaza objetos del diagrama de bloues 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 Vaue )Valor Aperativo, ?" *isma funci$n ue O)eratin"1
P%siti%n'Si9e'See.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 Labein"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"
S
Set'Cear 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 bloues" 'uando
durante la ejecuci$n se llega a uno de ellos, LabVIEW conmuta autom4ticamente al
diagrama de bloues" .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 bloues 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 bloues,<
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 <ase )falso,"
Dum=ricos< ?ay diferentes tipos
E9tended )naranja,
T
(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
?PQ.U< (on almacenados como los nmeros en coma flotante de doble precisi$n"
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 izuierda 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 empauetados" 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 bloue de memoria relocalizable" .n
&andie s$lo apunta a datos definidos por el usuario" LabVIEW no reconoce u= es
lo ue &ay en ese bloue de memoria" Es especialmente til para pasar un bloue 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" 'ualuier 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 euivalente 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$8e L%%) cuando ueramos ue una operaci$n se repita mientras una determinada
condici$n sea cierta" (u euivalente en lenguaje convencional es<
D% ejecutar subdiagrama
W$ie condici$n is TRUE
)#unue 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$8e L%%) se despliega el siguiente men<
)La versi$n :"; presenta adem4s la opci$n de #yuda en L!nea u Onine 0e)41
E (&o0 Label< Aculta o visualiza la etiueta de identificaci$n de- L%%) !6 si no e9iste,
permite ponerla"
E Description< Permite a6adir comentarios"
E Oeplace< 'ambia el -%r L%%) o el W$ie L%%) por cualuier otra funci$n de la paleta
Stru.ts ? C%nstants1
E Oemove Loop< Norra la estructura W$ie 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$ie 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 izuierda, uedando en el de la derec&a el nuevo valor" .n
mismo registro de, desplazamiento puede tener m4s de un terminal en el lado izuierdo% para
a6adirlo escogeremos la opci$n Add Ee#ent )a6adir elemento, de- men popQup" 'uantos m4s
terminales tengamos en el lado izuierdo m4s valores de iteraciones anteriores podremos
almacenar"
3J
El men popQup tiene otros dos comandos<
Oemove element< Norra un terminal de- lado izuierdo 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 izuierda
como el de la derec&a"
.n mismo L%%) puede tener varios registros de desplazamientos siendo conveniente inicializarlos,
para ue los terminales de la izuierda tengan el valor deseado cuando se produzca la primera
iteraci$n" S$i<t re"ister puede trabajar con cualuier 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$ie 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$ie 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
peue6a 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 auellas situaciones en las ue el nmero de alternativas
disponibles sean dos o m4s" (egn u= valor tome el selector dentro de los n valores posibles, se
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 etiuetado 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
tener &asta 73: Case1
En este caso la estructura Case engloba dos sentencias diferentes de otros lenguajes
convencionales<
3S
3"Q lf condici$n true t&en ejecutar case true
else ejecutar case false
7"Q '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 etiueta 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 cualuier otra funci$n de la paleta
Stru.ts ? C%nstants1
Oemove 'ase (tructure o (euence< 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 (euence 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 peue6a
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#ua 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#ua N%de cuando ueramos ejecutar f$rmulas matem4ticas ue ser!an complicadas
de crear utilizando las diferentes &erramientas matem4ticas ue LabVIEW incorpora en sus
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,"
77
*en popQup 5ormula Dode
5igura :"I 5ormula Dode
'ada variable, adem4s, tendr4 otro men popQup ue permitir4 definirla como de salida si
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," 8ambi=n podremos eliminarla
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, aunue 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#ua N%de=
abs)9, Devuelve el valor absoluto de 9"
acos)U, 'alcula el coseno inverso de 9 en radianes",l
acos&)9, 'alcula el coseno &iperb$lico inverso en radianes"
asin)9, 'alcula el seno inverso de 9 en radia&es"
asin&)9, 'alcula el seno &iperb$lico inverso en radianes"
atan)9,y, 'alcula la tangente inversa de y+9 en radianeg,"
72
atan&)9, 'alcula la tangente &iperb$lico inversa en radianes"
'A()U, 'alcula el coseno de 9 en radianes"
cos&)9, 'alcula el coseno &iperb$lico de 9 en radianes"
cot)9, 'alcula la cotangente de 9 en radianes"
'(')U, 'alcula la cosecante de 9 en radianes"
e9p)9, 'alcula el valor de e elevado a 9"
ln)9, 'alcula el logaritmo natural de 9"
log)9, 'alcula el logaritmo de 9 en base 3 ;"
log7)U, 'alcula el logaritmo de 9 en base 7"
ma9)U,M, 'ompara 9 con y, y devuelve el mayor valor"
min)9,y, 'ompara 9 con y, y devuelve el menor valor"
mod)9Py,P 'alcula el cociente de 9+y"
rando 1enera un nmero aleatorio entre ; y 3"
sic)9, 'alcula la secante de 9 en radianes"
sign)9, Devuelve 3 si 9 es mayor ue ;, ; si 9 es igual a ; y Q3 si 9 es menor ue
cero"
sin)9, 'alcula el seno de 9 en radianes"
sinc)9, 'alcula el seno de 9 dividido porC9 en radianes"
sin&)U,P 'alcula el seno &iperb$lico de 9 en radianes"
srt)9, 'alcula la ra!z cuadrada de 9"
tan)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 cualuier 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 etiueta" 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 etiueta con el nombre del Vi al ue pertenece la variable local"
Description< Permite a6adir comentarios"
7I
Oeplace< (ustituye la variable local por cualuier 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 cualuier 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 cualuier 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 attribue n%de basta
con seleccionar la opci$n Create Attribute Node del men popQup de cualuier control del Panel
5rontal o terminal del Diagrama de Nloues )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 peue6a flec&a a la izuierda 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
Nloues"
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 etiueta identificativa de- atribu!e n%de1
Description< Permite a6adir comentarios"
7K
Oeplace< (ustituye el attribute n%de por cualuier 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 ue deseamos cambiar ! pulsando el bot$n
izuierdo del rat$n"
Por ejemplo, los atributos para un control num=rico son<
M para un string <
Remoe !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.ae *ri<% para un indicador B> Gra)$1 .na
peue6a 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 ee#ents )todos los elementos,, aunue 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 bloue" .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
Waeform 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 bloues"
(&o0 Label< Permite poner una etiueta de identificaci$n a la 0aveform c&art y, si ya e9iste,
la visualiza"
(&o0 Legend< Permite poner una etiueta 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 izuierda" En el modo scope c&art cada nuevo valor se
coloca a la derec&a de- anterior, empezando por el margen izuierdo del display"
'uando se llega al margen derec&o se borra todo el display y se comienza de nuevo
desde la izuierda" 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 izuierda 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
Nloues"
27
Oeplace< Permite sustituir la 0aveform c&art por cualuiera 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 bloues 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 )aeform charl y
tambi=n dispone de un buffer cuyo tama6o es, por defecto, de 37S puntos" Las opciones
disponibles para nten$%ty chart son pr4cticamente las mismas ue para )aeform char%"
nicamente, debido a ue e9iste una nueva coordenada, aparecen en el men opciones para =sta,
como son<
(&o0 Oamp< Visualiza u oculta la rampa de colores"
(&o0 'olor #rray< Permite fijar los colores de la rampa"
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?
Waeform graph representa una serie de valores M euiespaciados 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 )aeform 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 )aeform 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 porue 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.aad%
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 porue estar euiespaciados como ocurr!a en la$ )aeform 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%sibes re)resenta.i%nes de una (ni.a B> Gra)$
#l igual ue en las )aeform 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 bloue 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%sibes 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 etiueta 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 Paeta 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 izuierdo 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 euiespaciados en el tiempo tendremos ue utilizar, sin m4s remedio, un
indicador *+ Graph" (i los datos dependieran de- eje de las abcisas pero est4n euiespaciados
podremos utilizar un indicador Waeform Graph si ueremos ue los nuevos datos sustituyan a los
anteriores o un indicador Waeform 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