Está en la página 1de 40

Departamento de Electricidad

Instrumentación y Control

Informática Industrial

LabVIEW 7 Express
Nivel 1

Prof. Argenis Rondón


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

Dep. Electricidad - Opción Instrumentación y Control


1 EL ENTORNO DE PROGRAMACIÓN
GRÁFICA

1.1 INSTRUMENTO VIRTUAL

Un instrumento virtual (VI) es un programa realizado en lenguaje de programación gráfica (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
programación gráfica propiamente dicha con la ayuda de funciones, terminales y conexiones.

Ejemplo del panel de un VI y su diagrama correspondiente:

figura 1.1

1.2 CONSTRUCCIÓN DE VIs

En primer lugar hay que tener en cuenta la arquitectura jerárquica de los VIs. Después de haber construido un
VI usted lo puede utilizar dentro de otros VIs como un sub-VI.

Cuando se crea una aplicación, se empieza por el VI principal definiéndose las entradas y salidas del mismo,
esta etapa se realiza en gran parte en la ventana del panel. Luego se insertan en la ventana del diagrama las
funciones que permitirán realizar las operaciones sobre los datos y por ultimo se interconectan todos estos
elementos de acuerdo a la función que se quiera realizar con el VI.

Además de las ventanas Panel y Block Diagram se pueden abrir adicionalmente tres ventanas de herramientas:
la ventana Functions que contiene las funciones y objetos que se utilizan en la ventana de diagrama; la ventana
Controls que contiene los controles e indicadores que se utilizarán en la ventana del panel y por ultimo la
ventana Tools que contiene las herramientas para modificar los objetos en las ventanas del panel y del
diagrama:

Prof. Argenis Rondón 1


Dep. Electricidad - Opción Instrumentación y Control
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, comprensión y
mantenimiento de la aplicación.

Se puede guardar el VI construido en un archivo. Además, en LabVIEW se puede también 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 más fácilmente 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
automáticamente 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

Prof. Argenis Rondón 2


Dep. Electricidad - Opción Instrumentación y Control
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
automáticamente 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.

Nótese que el LabView representa a un terminal de


entrada (de un control) con un borde grueso y a un figura 1.4
terminal de salida (de un indicador) con un borde
fino. Los controles y los indicadores en LabVIEW
son similares a los parámetros de entrada y salida
en los lenguajes de programación tradicionales.

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 representación en el panel del VI. Permite
definir valores que serán 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

Prof. Argenis Rondón 3


Dep. Electricidad - Opción Instrumentación y Control
1.2.2.2 Terminales
Son regiones (de un VI o de una función) por donde se transmiten los datos. Los
terminales son similares a los parámetros de funciones en los lenguajes clásicos.

El símbolo y el color de los terminales indican el tipo de datos que maneja el control o el
indicador (ver capítulo 2).

figura 1.7

1.2.2.3 Funciones
Son porciones de programa que realizan una tarea determinada. Toda función
será representada en el diagrama por un icono con un cierto número de
terminales de entrada y salida.

En la figura 1.8 se puede apreciar varias funciones contenidas en la librería


estándar del LabVIEW, algunas identificadas fácilmente por su icono: como la
multiplicación, la división, la función seno, las funciones lógicas AND y XOR.

El caso particular de la función multiplicación, 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 multiplicación será dada por el
terminal de salida S situado del lado derecho del icono. figura 1.8

Entradas
Salida

figura 1.9

1.2.2.4 Conexión
Una conexión 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 conexión desde un terminal a otro, señale con el ratón 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 conexión 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.

Prof. Argenis Rondón 4


Dep. Electricidad - Opción Instrumentación y Control
Funciones

Terminales de
indicadores

Terminales de
controles

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
programación clásicos.

1.2.3 Conexionado

1.2.3.1 Información flotante


Cuando se desplaza el ratón sobre el terminal de un nodo, una pequeña ventana
amarilla flotante aparece con la descripción correspondiente al nodo.
figura 1.12
1.2.3.2 Adaptación 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 botón del ratón,
deslice el cursor hasta el nuevo lugar. Las conexiones involucradas serán automáticamente actualizadas. (ver
figura 1.13)

Prof. Argenis Rondón 5


Dep. Electricidad - Opción Instrumentación y Control
figura 1.13

1.2.3.3 Selección y eliminación de conexiones


Es posible que se quiera eliminar el cableado entre dos o más nodos. En ese caso, seleccione la conexión que
se desee eliminar y presione sobre la tecla de borrado.

Un Segmento es una porción de conexión que consiste en una simple línea horizontal o vertical. El punto de
encuentro de tres o cuatro segmentos se llama Unión. Una Rama es una porción de conexión que contiene
todos los segmentos entre una unión y otra, entre un terminal y la unión 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 conexión.

figura 1.14

1.2.3.4 Conexiones incorrectas


Cuando una conexión se presenta como una línea discontinua y presentando una “x” roja en el medio, se tiene
una mala conexión. Se puede tener una mala conexión por diferentes razones, como por ejemplo la conexión
entre dos controles, o la conexión 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.

Prof. Argenis Rondón 6


Dep. Electricidad - Opción Instrumentación y Control
figura 1.15

1.3 EJERCICIO Nº 1: CREACIÓN DE UN VI SIMPLE


Se tiene un control con el valor de la temperatura en ºC y dos indicadores tipo termómetro donde se visualizará
esta temperatura en ºK y ºF tal como lo indica la figura siguiente. Realice un VI que permita realizar este cambio
de unidades.

figura 1.16

1. En el panel delantero inserte un control numérico tipo digital y nómbrelo ºC. Inserte también, dos
indicadores numéricos tipo termómetro y nómbrelos ºK y ºF respectivamente. A cada termómetro
actívele su indicador digital (botón derecho: Visible Items ► Digital Display). Si así lo desea,

Prof. Argenis Rondón 7


Dep. Electricidad - Opción Instrumentación y Control
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 automáticamente 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 “multiplicación”, “división” y “suma” necesarias para
realizar los cálculos de conversión de unidades:
9 o
o
F = C + 32
5
o
K = o
C + 273

Función multiplicación (All Functions / Numeric: Multiply): Esta función multiplica los
valores presentes en sus entradas x e y devolviendo el producto en su salida x*y.

Función división (All Functions / Numeric: Divide): Esta función divide el valor
presente en la entrada x entre el valor de la entrada y devolviendo el resultado en su
salida x/y.

Función suma (All Functions / Numeric: Add): Esta función 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 función, 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 función que apunte el cursor del ratón”

Prof. Argenis Rondón 8


Dep. Electricidad - Opción Instrumentación y Control
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 aplicación seleccionando el botón Run Continuously desde la barra de herramientas del
panel del VI y pruebe su funcionamiento.

Figura 1.19

Prof. Argenis Rondón 9


Dep. Electricidad - Opción Instrumentación y Control
2 REPRESENTACIÓN DE UNA VARIABLE

El LabView permite la utilización de los diferentes tipos usuales de variables que permite un lenguaje de
programación. El programador debe escoger, para una variable dada, el tipo mas adecuado tomando en cuenta
el uso y la precisión esperada en los cálculos.

2.1 VARIABLES NUMÉRICAS

Como su nombre lo indica, son variables que permiten manipular valores numéricos. Existen varias precisiones
que el programador puede seleccionar de acuerdo a la aplicación y a la precisión de los cálculos a realizar.

2.1.1 Enteros con signo

Existen tres tipos de variables de enteros con signo, dependiendo del número de bits de la variable. Se
reconocen en el diagrama por su color azul y la letra “I” seguida del número de bits: I8, I16 e I32.

Tipo Nombre Número de bits Rango


I8 Byte 8 -128 a 127

I16 Word 16 -32.768 a 32.767

I32 Long 32 -2.147.483.648 a 2.147.483.647

La figura siguiente muestra controles e indicadores con terminales de tipo entero.

I8

I16

I32

figura 2.1

Prof. Argenis Rondón 10


Dep. Electricidad - Opción Instrumentación y Control
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
número de bits: U8, U16 e U32:

Tipo Nombre Número de bits Rango


U8 Unsigned Byte 8 0 a 255

U16 Unsigned Word 16 0 a 65.535

U32 Unsigned Long 32 0 a 4.294.967.295

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 realización de cálculos con números reales de punto flotante. Se reconocen en
el diagrama por su color naranja. Dependiendo de la precisión de los datos manipulados, aparecen en los
terminales las indicaciones “SGL”, “DBL” o “EXT”:

Tipo Nombre Número de bits Rango Dígitos de Precisión


SGL Single 32 -3.4E38 a 3.4E38 8 dígitos

DBL Double 64 -1.7E308 a 1.7E308 16 dígitos

EXT Extended 80 -1.1E4932 a 1.1E4932 19 dígitos

La figura siguiente muestra algunos ejemplos con números reales punto flotante.

Prof. Argenis Rondón 11


Dep. Electricidad - Opción Instrumentación y Control
SGL

DBL

EXT

figura 2.3

2.1.4 Punto flotante complejo

Este tipo de variable permite la realización de cálculos con números complejos de punto flotante (tanto la parte
real como la parte imaginaria son números 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 precisión de los datos manejados:

Tipo Nombre Número de bits Rango Dígitos de Precisión


CSG Complex Single 32 -3.4E38 a 3.4E38 8 dígitos

CDB Complex Double 64 -1.7E308 a 1.7E308 16 dígitos

CXT Complex Extended 80 -1.1E4932 a 1.1E4932 19 dígitos

El número de bits y por lo tanto el rango y los dígitos de precisión se refiere a cada elemento del número
complejo: su parte real y su parte imaginaria.

La figura siguiente muestra algunos ejemplos de tratamiento de números 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 número complejo a partir del radio y ángulo de un vector.

Prof. Argenis Rondón 12


Dep. Electricidad - Opción Instrumentación y Control
CSG

CDB

CXT

figura 2.4

2.2 VARIABLES ALFANUMÉRICAS

Permiten manipular textos, cada carácter del texto ocupará un byte de la variable codificado en ASCII. Para
este tipo de variable existe toda una batería de funciones agrupadas bajo la rúbrica “Character”. Se reconocen
en el diagrama por su color violeta en las conexiones y terminales además de la indicación “abc” en estos
últimos.

La figura siguiente muestra un ejemplo de utilización de variables alfanumérica: en el indicador “Resultado” se


mostrará la concatenación de los textos contenidos en los controles “String 1” y “String 2”. Se utiliza para ello la
función de librería “concatenar”.
Función concatenar

abc

figura 2.5

2.3 VARIABLES LÓGICAS

Es un tipo de variables que solo permite dos valores: verdadero (TRUE) y falso (FALSE). Estas variables son de
una gran utilidad para la toma de decisión. También son empleadas en el control binario (manipulación de
captores y actuadotes binarios o ON/OFF. Se reconocen en el diagrama por el color verde en las conexiones y
terminales además de la indicación “TF” en estos últimos.

Prof. Argenis Rondón 13


Dep. Electricidad - Opción Instrumentación y Control
La figura siguiente se muestra un ejemplo, donde los indicadores tipo Led XOR y AND mostrarán 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

2.4 EJERCICIO Nº 2: TRATAMIENTO DE VARIABLES

Complete el programa del Ejercicio Nº 1 para que encienda un led amarillo si la temperatura es inferior a 50ºC;
un led rojo si la temperatura es superior a 90ºC; un led verde si la temperatura se sitúa entre estos dos valores.

Complete el ejercicio para que muestre, en un indicador tipo texto, el mensaje “Normal” si la temperatura se
encuentra en el rango 50ºC-90ºC y el mensaje “Fuera de rango” en caso contrario

figura 2.7

Prof. Argenis Rondón 14


Dep. Electricidad - Opción Instrumentación y Control
3 REALIZACIÓN DE UN SUB-VI
3.1 Definición

Todo VI puede ser utilizado dentro de otro VI para resolver una tarea específica. 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
clásicos de programación).

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 código y por lo tanto el
ahorro de memoria. Es de notar que si bien el LabVIEW utiliza un solo código para un mismo sub-VI
indiferentemente del número 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

• Reutilización del código: Muchas veces una tarea de tiene que realizar en diferentes VI (por ejemplo
el cálculo del promedio de los valores de una tabla: se puede utilizar en muchísimos 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 programación.

Sub-VI

VI 1 VI 2

figura 3.2

• Fácil mantenimiento: Cuando el diagrama de un VI se vuelve muy grande, se hace difícil su


comprensión y por lo tanto su mantenimiento futuro. Es aconsejable dividir el programa en partes
independientes, que cumplan tareas específicas dentro del problema general y que puedan a su vez ser

Prof. Argenis Rondón 15


Dep. Electricidad - Opción Instrumentación y Control
probadas en forma independiente. EL VI estará resultará mas compacto y por lo tanto mas fácil de leer,
para obtener los detalles solo hay que abrir los sub-VIs que lo forman.

VI

VI con Sub-VIs ⇒ Fácil a leer


VI

VI completo: muy grande ⇒ Engorroso

figura 3.3

3.2 CONSTRUCCIÓN Y UTILIZACIÓN DE SUB-VIs

Para poder utilizar un VI como un sub-VI dentro otro VI, se le debe haber definido un icono, para su fácil
reconocimiento, y un conector con al menos un terminal para comunicarse.

Terminales de
controles
Terminales de
indicadores

Terminales de entrada
(parámetros de entrada) Terminales de salida
(valores devueltos)

Icono del Sub-VI

figura 3.4

Prof. Argenis Rondón 16


Dep. Electricidad - Opción Instrumentación y Control
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 (parámetros 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 (Botón
derecho del ratón: deseleccionar “View As Icon”). Aparecen en forma explícita las entradas y salidas.

En forma de icono En forma desplegada

figura 3.5

3.2.1 Realización del Icono del sub-VI

Cada VI posee un icono por defecto visualizado en una pequeña 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 botón derecho del ratón 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 tamaño real aparece en una de las cajas situadas en la
derecha de la zona de edición.

Prof. Argenis Rondón 17


Dep. Electricidad - Opción Instrumentación y Control
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 comunicación 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 rectángulo en el conector representa la zona de un terminal. Si se desea agregar, eliminar o modificar la
configuración de los terminales, abra el menú flotante en la ventana del conector y seleccione: Patterns o Add
Terminal o Remove Terminal...

Prof. Argenis Rondón 18


Dep. Electricidad - Opción Instrumentación y Control
3.3 EJERCICIO Nº 3: CREAR EL ICONO Y EL CONECTOR A UN VI

El objetivo de este ejercicio es diseñar un icono y el conector para el VI creado en la manipulación anterior.
Para utilizar un VI como un sub-VI, se debe crear primero un icono y un cuadro conector para poder conectar
las entradas y salidas. El icono de un VI representa al este VI como un sub-VI en el diagrama de otros VIs.

1. Abra el VI del ejercicio anterior.


2. En el panel delantero, abrir el menú flotante desde el cuadro icono y seleccione Edit Icon....
3. Borre el icono actual.
4. Dibuje un icono que indique la tarea que cumple el sub-VI.

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 patrón 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 patrón
siguiente:

Prof. Argenis Rondón 19


Dep. Electricidad - Opción Instrumentación y Control
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 automáticamente en


“Bobina de hilo” y el terminal cambia a negro.

b. Haga clic sobre el control “ºC”. Una línea discontinua móvil 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.

Prof. Argenis Rondón 20


Dep. Electricidad - Opción Instrumentación y Control
3.4 EJERCICIO Nº 4: APERTURA Y UTILIZACIÓN DE SUB-VIs

Para utilizar un sub-VI solo hay que insertarlo en la ventana de diagrama: En la ventana All Functions,
seleccione el icono Select a VI.... Un dialogo de selección de archivo aparece. Seleccione el VI a utilizar y
arrástrelo hasta la posición deseada en el diagrama. Solo tiene ahora que conectar los terminales situados en el
borde del icono con el resto del diagrama.

1. Abra un nuevo VI (New VI).


2. En el panel delantero, inserte un control numérico (ºC1) y dos indicadores numéricos (ºK1 y ºF1).
3. Inserte un control tipo Slide (ºC2) y un control tipo Gauge (ºF2).

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.

Prof. Argenis Rondón 21


Dep. Electricidad - Opción Instrumentación y Control
4 ESTRUCTURAS DE PROGRAMACIÓN

4.1 INTRODUCCIÓN

Los lenguajes de programación modernos, llamados lenguajes estructurados, cuentan con ciertas estructuras
predefinidas que permiten realizar lazos y toma de decisiones en forma mas metódica 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 clásicas y algunas más, solo que la forma de utilizarlas es totalmente
gráfica, por lo que una estructura se verá en LabVIEW como un bloque que encierra todo una parte del
diagrama.

4.2 ESTRUCTURA CASE

4.2.1 Definición

La estructura CASE permite realizar tomas de decisiones. La estructura evalúa el valor dado en su entrada, si el
valor corresponde a uno de los ya predefinidos en el programa, se ejecutará la porción de programa
correspondiente:

Si
¿Valor 1? Proceso 1

No

Si
¿Valor 2? Proceso 2

No

Si
¿Valor n? Proceso n

No

Proceso
por defecto

figura 4.1

Prof. Argenis Rondón 22


Dep. Electricidad - Opción Instrumentación y Control
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 selección
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 ratón en la zona
de casos, pulsar el botón derecho y escoger en el menú flotante.
Valor n
Zona de casos

Conexión 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 LabVIEW

:
N=1 U = “uV” :
switch (N)
{
case 1:
U = “uV”;
N=2 U = “mV” break;
case 2:
U = “mV”;
break;
case 3:
N=3 U = “V” U = “uV”;
break;
default:
U = “uV”;
U = “KV” }
:
:

figura 4.3

Prof. Argenis Rondón 23


Dep. Electricidad - Opción Instrumentación y Control
Diagrama de flujo Lenguaje C LabVIEW

if (E > 10)
E > 10 SI
S=E–5
else
NO S=E+2
endif
S=E+2 S=E-5

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 SI

NO

S=E+2 S=E-5

figura 4.5

4.2.2 Ejercicio Nº 5: Utilización de la estructura case

1. Utilizando una estructura “Case” realice un programa que haga la conversión de litros a galones o de
galones a litros según el estado de un selector.

Prof. Argenis Rondón 24


Dep. Electricidad - Opción Instrumentación y Control
figura 4.6
2. Modifique la estructura anterior para que la decisión se realice sobre una variable alfanumérica:
“Litros a Galones”
“Galones a Litros”
“Litros a m3”
“m3 a Litros”

figura 4.7

4.3 ESTRUCTURA WHILE

4.3.1 Definición

Esta estructura permite repetir un proceso determinado mientras la condición establecida sea verdadera o falsa
(de acuerdo a la estructura escogida):

i=0 Repetir proceso mientras la


condición sea verdadera
Zona para diagrama
del proceso a repetir

Proceso
i=i+1
Contador i de
lazos realizados
(de solo lectura)

Condición Conexión para


Verdadera condición

Falsa

figura 4.8

Prof. Argenis Rondón 25


Dep. Electricidad - Opción Instrumentación y Control
i=0 Repetir proceso hasta que la
condición se haga verdadera
Zona para diagrama
del proceso a repetir

Proceso
i=i+1
Contador i de
lazos realizados
(de solo lectura)

Condición Conexión para


Falsa condición

Verdadera

figura 4.9

La variable i que sirve de contador de lazos, se incrementará automáticamente 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 condición es verdadera o
falsa.

El siguiente ejemplo muestra una aplicación 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;
S = 10 x i i = i + 1;
i=i+1
}
while ( S <= 100 );

S >= 100
NO

SI

figura 4.10

Prof. Argenis Rondón 26


Dep. Electricidad - Opción Instrumentación y Control
4.3.2 Ejercicio Nº 6: Utilización 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 máximo a llenar como la velocidad sean
configurables con controles tipo potenciómetro.

figura 4.13

Prof. Argenis Rondón 27


Dep. Electricidad - Opción Instrumentación y Control
4.4 ESTRUCTURA FOR

4.4.1 Definición

La estructura FOR permite realizar un proceso un número N de veces determinado. A diferencia de la estructura
anterior la condición de repetición del lazo ya está establecido en la estructura: cuando el contador de lazos
haya alcanzado el valor determinado por el usuario. Para N ≤ 0 el proceso no se ejecutará ni una vez.

i=0 Zona para diagrama


del proceso
Conexión del
número de veces a
NO
i<N repetir el lazo
I

SI

i=i+1 Proceso
Contador i de lazos
realizados (solo lectura)

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;
NO }
i < 11

SI

i=i+1 S = 10 x i

figura 4.15

Prof. Argenis Rondón 28


Dep. Electricidad - Opción Instrumentación y Control
4.4.2 Ejercicio Nº 7: Utilización del lazo FOR

Realice el programa anterior utilizando una estructura “FOR”. ¿Qué diferencias, en cuanto a ejecución,
encuentra entre las dos formas de realizar el programa?

figura 4.16

4.5 ESTRUCTURA SEQUENCE

4.5.1 Definición

El LabVIEW ejecuta un programa o diagrama en forma paralélelo, o sea, si en un momento determinado el


LabVIEW tiene todos los elementos para ejecutar una parte del diagrama, éste se ejecutará. Cuando se quiere
romper con esta regla y obligar al LabVIEW a ejecutar un conjunto de tareas en un orden establecido se utiliza
la estructura tipo secuencia.

Forma 1: Indicador de la tarea


Las tareas se que se muestra
Tarea 0 muestran
apiladas una
sobre otra Zona para el
diagrama de cada
Tarea 1 tarea

Forma 2:
Las tareas se
muestran una al
lado de la otra
Tarea n

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 números pares 0, 2, 4, …

Prof. Argenis Rondón 29


Dep. Electricidad - Opción Instrumentación y Control
Diagrama de flujo Lenguaje C

Tarea 1 While (!Empezar);

for(i=0; i < n; i++)


¿Empezar? {
NO S = 2 * i;
}
SI

Tarea 2
i=0

NO
i<n

SI

i=i+1 S=2xi

LabVIEW

figura 4.18

Prof. Argenis Rondón 30


Dep. Electricidad - Opción Instrumentación y Control
4.5.2 Ejercicio Nº 8: Utilización de la estructura SEQUENCE

Utilizando una estructura “SEQUENCE” modifique el programa anterior de tal manera que:
• Permita la entrada del valor máximo y la velocidad de llenado hasta que el operador pulse un botón de inicio.
• Una vez pulsado el botón 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

Prof. Argenis Rondón 31


Dep. Electricidad - Opción Instrumentación y Control
5 VECTORES, MATRICES O TABLAS
(“ARRAY”)

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 través de un indicador de la posición o “index”.

En LabVIEW En LabVIEW
como escalares como un vector
Posición Serie de datos
0 2,5
1 1,0
2 2,9
3 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. Nótese que la conexión de una
tabla o vector es una sola línea pero un poco más espesa que las conexiones de los escalares.
• Con la utilización de las funciones para tablas, los datos pueden ser tratados por grupos, ahorrando así
espacio y memoria, aumentando la versatilidad del código y por lo tanto la velocidad de procesamiento.

5.2 TIPOS DE VECTORES

Se pueden definir tablas o vectores de todos los tipos de variables tratadas por LabVIEW: numéricas enteras
con o sin signo, numéricas flotantes reales, numéricas flotantes complejas, alfanuméricas y lógicas. La figura
siguiente muestra vectores constantes de los diferentes tipos existentes en LabVIEW. Para poder acceder a un
elemento en particular hay que modificar el valor del index y el labVIEW le mostrará valor correspondiente.

Numéricas Alfanuméricas Lógicas

figura 5.2

Prof. Argenis Rondón 32


Dep. Electricidad - Opción Instrumentación y Control
También es posible mostrar más de un elemento al mismo tiempo: posicionar el ratón en la parte inferior del
terminal hasta que aparezca una doble flecha. Hacer clic en ese sitio y manteniendo pulsado el botón arrastre el
ratón hacia abajo hasta que aparezca el número de elementos requeridos.
Se puede definir vectores tanto para constantes como para controles e indicadores. Cuando se definen vectores
de constantes, su manipulación solo se puede realizar en tiempo de programación. Solo los vectores de
controles y de indicadores son accesibles al usuario en tiempo de ejecución. La figura aquí abajo se muestra
varios vectores de constantes, de controles y de indicadores. Nótese la diferencia entre los vectores de
controles y los vectores de indicadores:

Constantes Controles Indicadores

figura 5.3

5.3 FUNCIONES DE VECTORES

El LabVIEW tiene toda una batería de funciones para tratar los vectores o tablas agrupadas en la ventana de
funciones: ALL Functions / Array. La figura siguiente muestra esta librería donde se indican el nombre de
algunas de ellas.
Index Array Insert Into Array

Array Size

Initialize Array

Build Array

figura 5.4

Prof. Argenis Rondón 33


Dep. Electricidad - Opción Instrumentación y Control
• Array Size: Calcula el número de elementos que conforma una tabla.
• Index Array: Extrae el elemento de la tabla indicado por el valor del index.
• Insert Into Array: Inserta en la tabla uno o varios elementos a partir de la posición indicada por el index.
• Inicialize Array: Crea una tabla de una dimensión y tipo determinada con todos los elementos a un
mismo valor.
• Build Array: Crea una tabla a partir de elementos escalares independientes y/o otras tablas.

Existen otras funciones de tablas más especializadas que se encuentran agrupadas en otras librerías, como por
ejemplo las de cálculo matemático, estadístico, etc.

5.4 EJERCICIO Nº 8: TABLAS DE DATOS

Se tiene una tabla de datos provenientes de la medida de la temperatura de un horno. Realice un programa que
calcule el valor promedio de estos datos (utilice las funciones “Array Size” e “Index Array”).

Utilizando la función “Array Max & Min” extraiga el valor máximo y mínimo de la tabla.

figura 5.5

Prof. Argenis Rondón 34


Dep. Electricidad - Opción Instrumentación y Control
6 CLUSTER

6.1 CLUSTER

Es una colección de datos que pueden ser del mismo o de diferentes tipos. Es el equivalente a los registros
utilizados en bases de dato. La agrupación de datos en un solo ente tiene las mismas ventajas que los vectores
o tablas: simplificar el programa y hacerlos mas versátil.

Por ejemplo, se puede definir un cluster llamado Temperatura formado por: sitio de la medida (alfanumérico), la
temperatura propiamente dicha (numérica DBL), las unidades (alfanumérica) y el estado (lógica).

figura 6.1

Estos datos tendrá un solo nombre: Temperatura y su transporte a través del diagrama se realizará como si
fuera un solo elemento. Cada dato que conforma el cluster, puede ser leído 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

Prof. Argenis Rondón 35


Dep. Electricidad - Opción Instrumentación y Control
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

Nótese que cuando se define un cluster de controles o de indicadores el LabVIEW encierra sus elementos
dentro de un rectángulo biselado. Cuando se mueve el rectángulo, todos los elementos se moverán a su vez.

6.2 FUNCIONES DE CLUSTER

El LabVIEW suministra toda una librería de funciones para tratar cluster. Para tener acceso a estas funciones,
desde la ventana de funciones: All Functions / Cluster. La figura siguiente muestra la ventana que contiene
estas funciones.

Unbundle

Bundle

Bundle by name

Unbundle by name

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.

Prof. Argenis Rondón 36


Dep. Electricidad - Opción Instrumentación y Control
6.3 EJERCICIO Nº 9: USO DE CLUSTERS

Realice un cluster de controles llamado “Punto 1” formado por dos controles numéricos en punto flotante que
definen las coordenadas del punto: (x, y). Haga una copia de este control y llámelo “Punto 2”.

Realice un cluster de indicadores llamado Recta formado por dos indicadores numéricos en punto flotante que
definen la pendiente m y el cruce por el origen b de una recta: (m, b).

Realice el programa que calcule el valor de los parámetros (m, b) de la recta que pasa por los puntos Punto 1 y
Punto 2.

figura 6.5

Prof. Argenis Rondón 37


Dep. Electricidad - Opción Instrumentación y Control
7 GRÁFICOS
7.1 INTRODUCCIÓN

En muchas aplicaciones o instrumentos virtuales VI, se necesita presentar los resultados en forma de gráficos:
historial de una o varias variables, comportamiento de una variable con respecto a otra, visualización de una
variable en tiempo real, etc. El LabVIEW cuanta con una librería de controles e indicadores gráficos, versátiles y
fáciles de utilizar que le darán al instrumento virtual una apariencia profesional.

figura 7.1

7.2 GRAFICADORES BÁSICOS

7.2.1 Graficador tipo Chart

Permite realizar el registro de una variable y presentar su valor instantáneo, a medida que vaya ocurriendo,
seguido de los valores anteriores previamente memorizados. Se puede configurar el número de muestras a
memorizar, el número de muestras a visualizar (alcance de la visualización) entre otros parámetros.

Tipos de visualizaciones posibles:

Strip Chart: La visualización 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 visualización 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.

Prof. Argenis Rondón 38


Dep. Electricidad - Opción Instrumentación y Control
Sweep Chart: La visualización se realiza como la producida por un radar. Ahora no se borran todas las
muestras al comenzar una nueva visualización, si no que se muestra una raya roja que divide la nueva
visualización 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 visualización 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 señal sinusoidal de frecuencia y amplitud variables a través de potenciómetros.
Conecte un graficador tipo “Chart” y un indicador tipo “Gauge”. Observe el resultado. Modifique la forma de
visualización.

Figura 7.2

Prof. Argenis Rondón 39


Dep. Electricidad - Opción Instrumentación y Control