Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Informtica Industrial
Prof. Argenis Rondn Profesor Asociado Dep. Electricidad IUT Cuman e-mail: arondon@iutcum.riu.ve
IUT Cuman Km. 4 Carretera Cuman - Cumanacoa Telf.: (0293) 4672138 (0293) 4672136 Fax: (0293) 4672153 Febrero 2005
1
1.1 INSTRUMENTO VIRTUAL
Un instrumento virtual (VI) es un programa realizado en lenguaje de programacin grfica (G). Todo instrumento virtual se construye en dos ventanas diferentes: una ventana llamada Panel para dibujar la cara delantera del instrumento virtual con la ayuda de controles predefinidos y una ventana llamada Diagram donde se realizar la programacin grfica propiamente dicha con la ayuda de funciones, terminales y conexiones. Ejemplo del panel de un VI y su diagrama correspondiente:
figura 1.1
figura 1.2 Cuando un diagrama posea demasiados iconos, se pueden agrupar por tareas y se definen sub-VIs con la finalidad de que el diagrama quede simple. Esta forma modular facilita la puesta a punto, comprensin y mantenimiento de la aplicacin. Se puede guardar el VI construido en un archivo. Adems, en LabVIEW se puede tambin guardar varios VIs en un solo archivo llamado biblioteca de VIs. Sin embargo se aconseja guardar sus VIs en archivos individuales ya que de esta manera se puede copiar, renombrar y eliminar VIs ms fcilmente que estando en una biblioteca de VIs. 1.2.1 Objetos en el Panel Delantero 1.2.1.1 Control Es un objeto que se inserta en el panel del VI para entrar datos. Cuando se inserta un control en el panel, LabView inserta automticamente un terminal tipo entrada en la ventana de diagrama. En las figuras aqu al lado se presenta un control tipo Pointer Slide y su terminal correspondiente en el diagrama.
figura 1.3
1.2.1.2 Indicador Es un objeto que se inserta en el panel del VI para visualizar una salida. De la misma manera que ocurre con los controles, LabView inserta automticamente un terminal de salida en la ventana de diagrama. En la figura aqu al lado se presenta un indicador tipo Meter y su terminal respectivo. Ntese que el LabView representa a un terminal de entrada (de un control) con un borde grueso y a un terminal de salida (de un indicador) con un borde fino. Los controles y los indicadores en LabVIEW son similares a los parmetros de entrada y salida en los lenguajes de programacin tradicionales.
figura 1.4
La figura siguiente muestra el panel delantero de un VI que contiene dos controles y tres indicadores:
Controles
Indicadores figura 1.5 1.2.2 Objetos en el Diagrama en Bloque 1.2.2.1 Constantes Es un objeto similar a un control pero sin representacin en el panel del VI. Permite definir valores que sern utilizados en un programa o VI pero sin que el utilizador pueda maniobrarlos directamente. La figura aqu al lado representa a una constante de valor 2,5.
figura 1.6
1.2.2.2 Terminales Son regiones (de un VI o de una funcin) por donde se transmiten los datos. Los terminales son similares a los parmetros de funciones en los lenguajes clsicos. El smbolo y el color de los terminales indican el tipo de datos que maneja el control o el indicador (ver captulo 2). figura 1.7 1.2.2.3 Funciones Son porciones de programa que realizan una tarea determinada. Toda funcin ser representada en el diagrama por un icono con un cierto nmero de terminales de entrada y salida. En la figura 1.8 se puede apreciar varias funciones contenidas en la librera estndar del LabVIEW, algunas identificadas fcilmente por su icono: como la multiplicacin, la divisin, la funcin seno, las funciones lgicas AND y XOR. El caso particular de la funcin multiplicacin, como se puede apreciar en la figura 1.9, tiene dos terminales de entrada (los dos terminales E1 y E2 situados a la izquierda del icono) y el resultado de la multiplicacin ser dada por el terminal de salida S situado del lado derecho del icono. Entradas Salida
figura 1.8
figura 1.9 1.2.2.4 Conexin Una conexin representa un camino que toman los datos entre dos nodos tomado. Las conexiones tienen el color que identifica el tipo de datos (tal como ocurre con los terminales) Para realizar una conexin desde un terminal a otro, seale con el ratn el primer terminal hasta que aparezca la herramienta Bobina de hilo. Haga clic en ese terminal y luego en el otro terminal. LabView dibujar entonces el cable de conexin entre los dos terminales con el color correspondiente a los datos manejados por los dos terminales. El orden de cableado no tiene importancia.
figura 1.10 Cuando la herramienta tipo bobina de hilo se encuentra sobre un terminal, la zona del terminal se pone intermitente indicando que se puede realizar el cableado. La figura siguiente muestra una ventana de diagrama de un VI donde aparecen varios terminales, constantes, funciones y sus conexiones.
Constantes
figura 1.11 Es de notar que el hecho de realizar las conexiones es el equivalente a escribir un programa en los leguajes de programacin clsicos. 1.2.3 Conexionado 1.2.3.1 Informacin flotante Cuando se desplaza el ratn sobre el terminal de un nodo, una pequea ventana amarilla flotante aparece con la descripcin correspondiente al nodo. figura 1.12 1.2.3.2 Adaptacin de las conexiones Los objetos cableados pueden ser desplazados de manera individual o agrupados. Seleccione el o los elementos a desplazar, cuando aparezca la herramienta Flecha y manteniendo pulsado el botn del ratn, deslice el cursor hasta el nuevo lugar. Las conexiones involucradas sern automticamente actualizadas. (ver figura 1.13)
figura 1.13 1.2.3.3 Seleccin y eliminacin de conexiones Es posible que se quiera eliminar el cableado entre dos o ms nodos. En ese caso, seleccione la conexin que se desee eliminar y presione sobre la tecla de borrado. Un Segmento es una porcin de conexin que consiste en una simple lnea horizontal o vertical. El punto de encuentro de tres o cuatro segmentos se llama Unin. Una Rama es una porcin de conexin que contiene todos los segmentos entre una unin y otra, entre un terminal y la unin siguiente, o entre un terminal y otro si no existen uniones entre estos dos Se puede seleccionar un segmento haciendo clic sobre el segmento con la herramienta flecha. Si se hace un nuevo clic, se selecciona todo la rama, si hace un tercer clic se seleccionar toda la conexin.
figura 1.14 1.2.3.4 Conexiones incorrectas Cuando una conexin se presenta como una lnea discontinua y presentando una x roja en el medio, se tiene una mala conexin. Se puede tener una mala conexin por diferentes razones, como por ejemplo la conexin entre dos controles, o la conexin entre dos terminales con tipos de datos diferentes. Estas malas conexiones se pueden eliminar de la misma manera descrita en el apartado anterior o bien desde el men Edit, escoger Remove Broken Wires o Ctrl+B esto borrar todas las malas conexiones del diagrama.
figura 1.15
figura 1.16 1. En el panel delantero inserte un control numrico tipo digital y nmbrelo C. Inserte tambin, dos indicadores numricos tipo termmetro y nmbrelos K y F respectivamente. A cada termmetro actvele su indicador digital (botn derecho: Visible Items Digital Display). Si as lo desea, Prof. Argenis Rondn 7
puede utilizar los embellecedores para mejorar la apariencia del VI (Puede tomar como ejemplo la figura aqu arriba). 2. En la ventana de diagrama aparecen automticamente el terminal del control y los terminales de los dos indicadores insertados tal como aparece en la figura siguiente.
figura 1.17 3. Inserte en la ventana de diagrama las funciones multiplicacin, divisin y suma necesarias para realizar los clculos de conversin de unidades:
o
F =
9 o C + 32 5
o
K =
C + 273
Funcin multiplicacin (All Functions / Numeric: Multiply): Esta funcin multiplica los valores presentes en sus entradas x e y devolviendo el producto en su salida x*y.
Funcin divisin (All Functions / Numeric: Divide): Esta funcin divide el valor presente en la entrada x entre el valor de la entrada y devolviendo el resultado en su salida x/y.
Funcin suma (All Functions / Numeric: Add): Esta funcin suma los valores presentes en sus entradas x e y devolviendo el resultado en su salida x+y.
4. Para visualizar la ayuda sobre las entradas y salidas de cualquier funcin, seleccione desde el men de la ventana de diagrama: Help / Show Context Help: (o Ctrl-H) aparece una ventana Help con las indicaciones de la funcin que apunte el cursor del ratn
figura 1.18 5. Conecte los diferentes elementos de tal manera que realice las conversiones esperadas. 6. Guarde el instrumento virtual VI construido en el directorio indicado por el docente. 7. Ejecute la aplicacin seleccionando el botn Run Continuously desde la barra de herramientas del panel del VI y pruebe su funcionamiento.
Figura 1.19
El LabView permite la utilizacin de los diferentes tipos usuales de variables que permite un lenguaje de programacin. El programador debe escoger, para una variable dada, el tipo mas adecuado tomando en cuenta el uso y la precisin esperada en los clculos.
I8
I16
10
2.1.2 Enteros sin signo Este tipo de variables, solo manipula datos enteros positivos. Al igual que los enteros con signo, existen tres tipos de variables de enteros sin signo. Se reconocen en el diagrama por su color azul y la letra U seguida del nmero de bits: U8, U16 e U32:
Nmero de bits 8 16 32
La figura siguiente muestra controles e indicadores con terminales de tipo entero sin signo.
U8
U16
U32
figura 2.2
2.1.3 Punto flotante real Este tipo de variable permite la realizacin de clculos con nmeros reales de punto flotante. Se reconocen en el diagrama por su color naranja. Dependiendo de la precisin de los datos manipulados, aparecen en los terminales las indicaciones SGL, DBL o EXT: Tipo SGL DBL EXT Nombre Single Double Extended Nmero de bits 32 64 80 Rango -3.4E38 a 3.4E38 -1.7E308 a 1.7E308 -1.1E4932 a 1.1E4932 Dgitos de Precisin 8 dgitos 16 dgitos 19 dgitos
La figura siguiente muestra algunos ejemplos con nmeros reales punto flotante. Prof. Argenis Rondn 11
SGL
DBL
EXT
figura 2.3
2.1.4 Punto flotante complejo Este tipo de variable permite la realizacin de clculos con nmeros complejos de punto flotante (tanto la parte real como la parte imaginaria son nmeros de punto flotante). Comparten con el grupo anterior el color naranja en los terminales y conexiones de la ventana de diagrama. En los terminales aparecen las indicaciones CGS, CDB o CXT dependiendo de la precisin de los datos manejados: Tipo CSG CDB CXT Nombre Complex Single Complex Double Complex Extended Nmero de bits 32 64 80 Rango -3.4E38 a 3.4E38 -1.7E308 a 1.7E308 -1.1E4932 a 1.1E4932 Dgitos de Precisin 8 dgitos 16 dgitos 19 dgitos
El nmero de bits y por lo tanto el rango y los dgitos de precisin se refiere a cada elemento del nmero complejo: su parte real y su parte imaginaria. La figura siguiente muestra algunos ejemplos de tratamiento de nmeros complejos: el primero separa la parte real de la parte imaginaria (los indicadores Re e Im son entonces reales punto flotante), el segundo calcula el conjugado correspondiente y el tercero crea un nmero complejo a partir del radio y ngulo de un vector.
12
CSG
CDB
CXT
figura 2.4
abc
figura 2.5
La figura siguiente se muestra un ejemplo, donde los indicadores tipo Led XOR y AND mostrarn el resultado de las funciones OR exclusivo y AND de los valores dados por los controles tipo interruptor A y B: TF
figura 2.6
figura 2.7
14
3
3.1 Definicin
REALIZACIN DE UN SUB-VI
Todo VI puede ser utilizado dentro de otro VI para resolver una tarea especfica. Cuando se utiliza un Vi dentro de otro, al primero se le denomina Sub-VI (Es el equivalente de los sub-programas y funciones en los lenguajes clsicos de programacin). Las ventajas de utilizar un sub-VI en vez del diagrama directamente en un VI son las siguientes: Ahorro de memoria: Si una tarea se repite varias veces en un programa, se sustituye el diagrama correspondiente a la tarea en cada sitio donde se repite por el icono de un sub-VI que realice esa tarea. El resultado es que el diagrama de la tarea se realiza solo una vez y cada vez que el VI tenga que realizar la tarea, llama al sub-VI correspondiente. Se tiene entonces un solo cdigo y por lo tanto el ahorro de memoria. Es de notar que si bien el LabVIEW utiliza un solo cdigo para un mismo sub-VI indiferentemente del nmero de veces en que aparece en el VI, los datos tratados corresponde al sitio de donde es llamado. Tarea Sub-VI Icono del Sub-VI VI figura 3.1 Reutilizacin del cdigo: Muchas veces una tarea de tiene que realizar en diferentes VI (por ejemplo el clculo del promedio de los valores de una tabla: se puede utilizar en muchsimos programas). A medida que un programador resuelve problemas particulares con LabVIEW, es aconsejable guardarlos como sub-VI para que pueda ser utilizado en un futuro, ahorrando tiempo de programacin.
Sub-VI
VI 1 figura 3.2
VI 2
Fcil mantenimiento: Cuando el diagrama de un VI se vuelve muy grande, se hace difcil su comprensin y por lo tanto su mantenimiento futuro. Es aconsejable dividir el programa en partes independientes, que cumplan tareas especficas dentro del problema general y que puedan a su vez ser Prof. Argenis Rondn 15
probadas en forma independiente. EL VI estar resultar mas compacto y por lo tanto mas fcil de leer, para obtener los detalles solo hay que abrir los sub-VIs que lo forman.
VI VI con Sub-VIs Fcil a leer VI VI completo: muy grande Engorroso figura 3.3
Terminales de controles
Terminales de indicadores
16
Cada terminal puede ser un terminal de entrada o un terminal de salida. Los terminales de entrada sirven para suministrarle al sub-VI los datos necesarios para realizar su tarea (parmetros de entrada). Los terminales de salida sirven para que el sub-VI devuelva los resultados de la tarea (valores devueltos). Cuando se realiza un sub-VI a partir de un VI, a cada control se le asociar un terminal de entrada y a cada indicador se le asociar a su vez un terminal de salida. Cuando se inserta un sub-VI en un VI, el sub-VI aparecer, por defecto, en forma de icono. Se puede entonces conectar las entradas y salidas al diagrama del VI. Si se desea, se puede activar la forma desplegada (Botn derecho del ratn: deseleccionar View As Icon). Aparecen en forma explcita las entradas y salidas.
En forma de icono figura 3.5 3.2.1 Realizacin del Icono del sub-VI
En forma desplegada
Cada VI posee un icono por defecto visualizado en una pequea ventana situada en la parte de arriba y a la derecha de las ventanas Panel y Diagram, tal como lo indica la figura aqu abajo. Para cada VIs, el LabView visualiza el icono por defecto y un numero que indica las veces que se ha abierto un nuevo VI desde que se inici el LabView. Icono por defecto
figura 3.6 Para personalizar el icono del VI construido se utiliza el editor de iconos que trae el LabVIEW. Para activar el editor de iconos, abra el men flotante haciendo clic con el botn derecho del ratn sobre al figura del icono actual y luego seleccione all Edit Icon... La figura siguiente muestra la ventana del editor de iconos. Utilice las herramientas situadas en la parte izquierda para modificar el icono. Una imagen de tamao real aparece en una de las cajas situadas en la derecha de la zona de edicin.
17
figura 3. 7 Se puede guardar un icono diferente para los diferentes modos de pantalla: monocromo, 16 colores y 256 colores. El editor presenta por defecto el modo 256 colores, pero se puede hacer clic sobre las otras opciones para cambiar de modo. 3.2.2 Conector El conector es la interfaz de comunicacin de un sub-VI. El panel delantero de un VI utiliza controles e indicadores para transmitir datos hacia y desde l. Para poder comunica un VI con un sub-VI, se necesita entonces un conector con los terminales suficientes que permita encaminar estos datos hacia los controles e indicadores. Se puede definir las conexiones escogiendo la cantidad de terminales que se desee y asignarle a cada uno de estos terminales un control o un indicador del panel delantero. Para definir un conector, seleccione Show Connector en el men flotante obtenido desde la ventana del icono de la ventana del panel. La ventana del icono es remplazada por la ventana del conector. LabView reserva terminales de entrada para los controles en la parte izquierda y terminales de salida para los indicadores en la parte derecha. La cantidad de terminales reservados depende de al cantidad de controles e indicadores que se encuentre en el panel delantero.
Figura 3.8 Cada rectngulo en el conector representa la zona de un terminal. Si se desea agregar, eliminar o modificar la configuracin de los terminales, abra el men flotante en la ventana del conector y seleccione: Patterns o Add Terminal o Remove Terminal...
18
figura 3.9 5. Cierre el editor de icono haciendo clic en OK. El nuevo icono aparecer en el cuadro de icono en lugar del antiguo. 6. Defina los terminales del conector abriendo el men flotante en el cuadro del icono del panel delantero y escogiendo Show Connetor. Por defecto, LabView selecciona un patrn de terminales en el conector basado en la cantidad de controles e indicadores que hay el panel delantero. Como en nuestro caso se tienen siete objetos en el panel delantero, el conector tendr siete terminales, como se indica aqu abajo.
figura 3.10 7. Abra el men flotante sobre el cuadro conector y seleccione Patterns. Seleccione el patrn siguiente:
19
figura 3.11 Esto se hace ya que solo se necesita un terminal de entrada (C) y dos terminales de salida (K y F). El resto de controles e indicadores no lo utilizaremos para este sub-VI: solo se quiere que realice las conversiones. 8. Asigne los terminales del conector al control C y al los indicadores K y F: a. Haga clic en el terminal de la izquierda del conector. El cursor se transforma automticamente en Bobina de hilo y el terminal cambia a negro. b. Haga clic sobre el control C. Una lnea discontinua mvil encuadra al control, como se indica en la figura siguiente. El terminal seleccionado aparecer entonces del color correspondiente al tipo de datos manejado por el control. En nuestro caso del color naranja puesto que el control C maneja datos tipo flotante doble (DBL).
figura 3.12 c. Repita las etapas a y b para asociar los terminales situados en la parte derecha del conector con los indicadores K y F. d. Abra el men flotante sobre el cuadro conector y seleccione Show Icon. 9. Guarde el VI en el disco duro: File/Save. 10. Cierre el VI: File/Close El VI que se acaba de realizar ya puede ser utilizado como un sub-VI en otros VIs. El icono representa al VI en el diagrama del VI que lo llama.
20
figura 3.13 4. Abra ahora la ventana de diagrama. 5. Inserte dos copias del sub-VIs hecho en el ejercicio anterior. 6. Para uno de los sub-VI: conecte el terminal de entrada con el terminal del control C1 y los terminales de salida con los terminales de los indicadores K1 y F1. 7. Para el sub-VI restante: conecte el terminal de entrada con el control C2 y el terminal de salida F con el control F2. 8. Pruebe el programa as realizado. Concluya.
21
4
4.1 INTRODUCCIN
ESTRUCTURAS DE PROGRAMACIN
Los lenguajes de programacin modernos, llamados lenguajes estructurados, cuentan con ciertas estructuras predefinidas que permiten realizar lazos y toma de decisiones en forma mas metdica y sencilla. Estas estructuras son casi siempre las mismas (while, do, for, case, etc.) en los diferentes lenguajes utilizados actualmente: lenguaje C, Visual C, Visual Basic, Pascal, Java, etc. El LabVIEW cuenta con las estructuras clsicas y algunas ms, solo que la forma de utilizarlas es totalmente grfica, por lo que una estructura se ver en LabVIEW como un bloque que encierra todo una parte del diagrama.
Valor 1? No Valor 2? No
Proceso 1
Si
Proceso 2
Si
Proceso n
La estructura evaluar primero el valor suministrado en su entrada. Si es igual a Valor 1 se realizar el Proceso 1 y finalizar la estructura, si es igual al Valor 2 se realizar el Proceso 2 y finalizar la estructura, y as sucesivamente. Si El valor de entrada no corresponde con ninguno del los valores Valor 1, Valor 2, ,Valor n entonces se realizar el Proceso por defecto. Este proceso por defecto, puede ser definido como uno de los procesos anteriores Proceso 1, Proceso 2, , Proceso n. En LabVIEW la estructura case se presenta como una caja con una zona superior con flechas de seleccin donde el programador definir los casos (Valor 1, Valor 2, etc.) y en el espacio central se introducir el diagrama correspondiente a ese caso. Si se quiere agregar o quitar un caso, con el puntero del ratn en la zona de casos, pulsar el botn derecho y escoger en el men flotante. Valor n Zona de casos Conexin para el valor de entrada
Zona para el diagrama correspondiente al caso n figura 4.2 Los diferentes casos pueden verse pulsando la flecha situada en la zona de casos. Para cada caso definido se introducir en la zona de diagrama el programa correspondiente al proceso que debe realizar. Los siguientes ejemplos muestran el uso de este tipo de estructura. Para poder visualizar cada caso, se presenta debajo del programa, la vista de los casos restantes: Diagrama de flujo Lenguaje C : : switch (N) { case 1: U = uV; break; case 2: U = mV; break; case 3: U = uV; break; default: U = uV; } : : LabVIEW
N=1
U = uV
N=2
U = mV
N=3
U = V
U = KV
23
Diagrama de flujo
Lenguaje C
LabVIEW
E > 10 NO S=E+2
SI
figura 4.4 Aprovechando las opciones que brinda la estructura CASE en LabVIEW y que el valor E a evaluar es de tipo entero, el programa anterior se puede realizar de la siguiente manera:
E > 10 NO S=E+2
SI
S=E-5
figura 4.5
4.2.2 Ejercicio N 5: Utilizacin de la estructura case 1. Utilizando una estructura Case realice un programa que haga la conversin de litros a galones o de galones a litros segn el estado de un selector.
24
figura 4.6 2. Modifique la estructura anterior para que la decisin se realice sobre una variable alfanumrica: Litros a Galones Galones a Litros Litros a m3 m3 a Litros
figura 4.7
i=0
Proceso
i=i+1
Condicin
Verdadera
Falsa
i=0
Proceso
i=i+1
figura 4.9 La variable i que sirve de contador de lazos, se incrementar automticamente cada vez que la estructura WHILE repita el proceso. Esta variable es de solo lectura y se puede utilizar dentro del proceso. Es de notar que el proceso se ejecutar por lo menos una vez, luego se repetir de acuerdo si la condicin es verdadera o falsa. El siguiente ejemplo muestra una aplicacin utilizando el lazo WHILE: muestra en el indicador S en forma consecutiva los valores 0, 10, 20, 30, 40, 100. Diagrama de flujo Lenguaje C LabVIEW
i=0
i = 0; do { S = 10 * i; i = i + 1; } while ( S <= 100 );
S = 10 x i
i=i+1
S >= 100
NO
SI
figura 4.10
26
4.3.2 Ejercicio N 6: Utilizacin del lazo While 1. Utilizando una estructura WHILE complete el programa anterior para que repita el procedimiento hasta que se pulse un pulsador de STOP.
figura 4.11 2. Utilizando una estructura WHILE realice un programa que simule el llenado de un tanque (0 a 500 lts.). Ensaye con varias velocidades.
figura 4.12 3. Modifique el ejercicio anterior para que tanto el nivel mximo a llenar como la velocidad sean configurables con controles tipo potencimetro.
figura 4.13
27
i=0
Conexin del nmero de veces a repetir el lazo
i<N
SI
i=i+1
figura 4.14 El ejemplo siguiente muestra el programa del ejemplo anterior realizado ahora con lazo FOR: Diagrama de flujo Lenguaje C LabVIEW
i=0
for(i=0; i < 11; i++) { S = 10 * i; }
i < 11
NO
SI i=i+1 S = 10 x i
figura 4.15
28
4.4.2 Ejercicio N 7: Utilizacin del lazo FOR Realice el programa anterior utilizando una estructura FOR. Qu diferencias, en cuanto a ejecucin, encuentra entre las dos formas de realizar el programa?
figura 4.16
Tarea 0
figura 4.17 El ejemplo siguiente muestra una secuencia con dos tareas: la primera tarea es esperar hasta que se pulse el pulsador Empezar, la segunda tarea es mostrar una secuencia de los primeros n nmeros pares 0, 2, 4, Prof. Argenis Rondn 29
Lenguaje C
Tarea 2
i=0
i<n
NO
SI i=i+1 S=2xi
LabVIEW
figura 4.18
30
4.5.2 Ejercicio N 8: Utilizacin de la estructura SEQUENCE Utilizando una estructura SEQUENCE modifique el programa anterior de tal manera que: Permita la entrada del valor mximo y la velocidad de llenado hasta que el operador pulse un botn de inicio. Una vez pulsado el botn de inicio, se ejecutar el lazo de llenado. Al finalizar el llenado se visualizar un mensaje de despedida y termina el programa.
figura 4.19
31
5
5.1 VECTORES
Una serie de datos de un mismo tipo, conforman un vector. Cada elemento del vector o dato de la tabla ser referenciado con respecto al primero a travs de un indicador de la posicin o index. En LabVIEW como escalares Posicin 0 1 2 3 Serie de datos 2,5 1,0 2,9 0,1 figura 5.1 Son varias las ventajas de utilizar vectores o tablas en vez de una serie de escalares independientes: Simplifica el diagrama ya que agrupa todos los terminales en uno solo. Ntese que la conexin de una tabla o vector es una sola lnea pero un poco ms espesa que las conexiones de los escalares. Con la utilizacin de las funciones para tablas, los datos pueden ser tratados por grupos, ahorrando as espacio y memoria, aumentando la versatilidad del cdigo y por lo tanto la velocidad de procesamiento. En LabVIEW como un vector
figura 5.2
32
Tambin es posible mostrar ms de un elemento al mismo tiempo: posicionar el ratn en la parte inferior del terminal hasta que aparezca una doble flecha. Hacer clic en ese sitio y manteniendo pulsado el botn arrastre el ratn hacia abajo hasta que aparezca el nmero de elementos requeridos. Se puede definir vectores tanto para constantes como para controles e indicadores. Cuando se definen vectores de constantes, su manipulacin solo se puede realizar en tiempo de programacin. Solo los vectores de controles y de indicadores son accesibles al usuario en tiempo de ejecucin. La figura aqu abajo se muestra varios vectores de constantes, de controles y de indicadores. Ntese la diferencia entre los vectores de controles y los vectores de indicadores: Constantes Controles Indicadores
figura 5.3
Array Size
Initialize Array
Build Array
figura 5.4
33
Build Array:
Calcula el nmero de elementos que conforma una tabla. Extrae el elemento de la tabla indicado por el valor del index. Inserta en la tabla uno o varios elementos a partir de la posicin indicada por el index. Crea una tabla de una dimensin y tipo determinada con todos los elementos a un mismo valor. Crea una tabla a partir de elementos escalares independientes y/o otras tablas.
Existen otras funciones de tablas ms especializadas que se encuentran agrupadas en otras libreras, como por ejemplo las de clculo matemtico, estadstico, etc.
figura 5.5
34
6
6.1 CLUSTER
CLUSTER
Es una coleccin de datos que pueden ser del mismo o de diferentes tipos. Es el equivalente a los registros utilizados en bases de dato. La agrupacin de datos en un solo ente tiene las mismas ventajas que los vectores o tablas: simplificar el programa y hacerlos mas verstil. Por ejemplo, se puede definir un cluster llamado Temperatura formado por: sitio de la medida (alfanumrico), la temperatura propiamente dicha (numrica DBL), las unidades (alfanumrica) y el estado (lgica).
figura 6.1 Estos datos tendr un solo nombre: Temperatura y su transporte a travs del diagrama se realizar como si fuera un solo elemento. Cada dato que conforma el cluster, puede ser ledo y modificado en cualquier momento en forma individual o en grupo. De acuerdo a la naturaleza de los elementos que lo conforma, se puede distinguir dos tipos de cluster: Cluster de salida: Todos sus elementos son o bien constantes (en ese caso es un cluster constante) o bien controles (cluster de controles). Este tipo de cluster solo pueden suministran valores al diagrama.
figura 6.2
35
Cluster de entada: Todos sus elementos son indicadores (cluster de indicadores) y por lo tanto solo puede aceptar valores desde el diagrama.
figura 6.3 Ntese que cuando se define un cluster de controles o de indicadores el LabVIEW encierra sus elementos dentro de un rectngulo biselado. Cuando se mueve el rectngulo, todos los elementos se movern a su vez.
Figura 6.4
Unbundle: Permite extraer los elementos que conforman un cluster. Bundle: Construye un cluster a partir de elementos simples. Bundle by name y Unbundle by name: Equivalentes a las anteriores pero ahora se puede especificar el nombre de cada elemento.
36
figura 6.5
37
7
7.1 INTRODUCCIN
GRFICOS
En muchas aplicaciones o instrumentos virtuales VI, se necesita presentar los resultados en forma de grficos: historial de una o varias variables, comportamiento de una variable con respecto a otra, visualizacin de una variable en tiempo real, etc. El LabVIEW cuanta con una librera de controles e indicadores grficos, verstiles y fciles de utilizar que le darn al instrumento virtual una apariencia profesional.
figura 7.1
Strip Chart: La visualizacin se realiza como la producida por un registrador de papel. A medida que van llegando las muestras se van visualizando al lado de las otras. Al completar la totalidad de la pantalla, se desplaza la curva para dejar el puesto de una nueva muestra.
Scope Chart: La visualizacin se realiza como la producida por un osciloscopio. Igual que la anterior pero al completar la pantalla, se borran todas las muestras y se comienza de nuevo.
38
Sweep Chart: La visualizacin se realiza como la producida por un radar. Ahora no se borran todas las muestras al comenzar una nueva visualizacin, si no que se muestra una raya roja que divide la nueva visualizacin con la anterior. 7.2.2 Graficador tipo Graph A este graficador se le debe entregar la totalidad de los valores a graficar en forma de un vector. El graficador los mostrar todos los elementos del vector en el orden dado. Es muy interesante para la visualizacin de tablas de datos. 7.2.3 Graficador tipo XY Graph Muy parecido al anterior, pero ahora se le tiene que entregar tanto los valores en Y como en X en forma de un vector de clusters.
7.3 EJERCICIO
Realice un generador de una seal sinusoidal de frecuencia y amplitud variables a travs de potencimetros. Conecte un graficador tipo Chart y un indicador tipo Gauge. Observe el resultado. Modifique la forma de visualizacin.
Figura 7.2
39