You are on page 1of 25

TABLA DE CONTENIDO

Pag

1.INTRODUCCIÓN 3

2.AMBIENTE DE PROGRAMACIÓN 5

3.CONTROLES BÁSICOS 13

4.FUNCIONES BÁSICAS 27

5.GRÁFICAS 34

6.ESTRUCTURAS DE CONTROL 40

7.CREACIÓN DE SUBVIs 49

8.EJERCICIOS DE APLICACIÓN 53
1. INTRODUCCIÓN
El LabView (Laboratory Virtual Instrument Engineering Workbench) es un ambiente
para el desarrollo en programación, como el lenguaje C o Visual Basic, pero
presenta una característica que lo hace diferente: Los otros programas utilizan
lenguajes basados en texto para crear líneas de código, mientras que LabView
utiliza un lenguaje gráfico de programación, el G, para crear código con el uso de
diagramas de bloques.
LabView, como el C o Basic, es un ambiente de desarrollo de programas de
propósito general, que contiene librerías y funciones para desarrollar tareas.
LabView incluye además librerías para adquisición, presentación, análisis y
almacenamiento de datos; incluye también herramientas para la corrección de
errores y optimización del desempeño. Presenta también herramientas para
depuración similar a los editores de lenguajes convencionales, como fijar puntos de
corte, animar la ejecución para observar cómo cambian los datos dentro del
programa y realizar pasos simples (uno a la vez).
Los programas en LabView son llamados instrumentos virtuales, VI, porque su
apariencia y operación pueden imitar la instrumentación actual.
El LabView promueve y adhiere el concepto de programación modular. Se
puede dividir una aplicación compleja en varias tareas, que a su vez se pueden
dividir en subtareas, se construye un VI para cada subtarea y se unen dentro de otro
VI, el proceso se repite hasta lograr la aplicación principal.
Como cada subVI puede ejecutarse independientemente, el debugging es muy fácil.
Además muchos subVIs desempeñan aplicaciones que son comunes en diferentes
programas, se puede entonces desarrollar un conjunto especializado de subVIs
adaptados a aplicaciones que son frecuentemente requeridas.
El LabView tiene las siguientes ventajas con respecto a los otros lenguajes:
 Es más fácil dibujar una idea que se tiene de un programa, que describirla en un
código determinado.
 Facilidad en la interface con instrumentos externos, esto sobre todo en la línea
construida por
National Instruments
 Facilidad en la creación de ayudas para los usuarios y programadores
 Recibe código de otros lenguajes como C++ y Basic
 Fue específicamente hecho para control, por lo que presenta ventajas en este
respecto como librerías especializadas en automatización y el procesamiento
digital.
 Manejo implícito de los límites en la operación de datos, por ejemplo no permite
manejar índices superiores a los definidos en un arreglo, permite el manejo de
mas y menos infinito, etc.
Permite el manejo automático de unidades de medición. A su vez el LabView tiene
las siguientes desventajas:
 No presenta polimorfismo sobre VIs creados, por ejemplo no podría tenerse un
módulo que por una misma entrada permita algunas veces entrar un número y
otras un arreglo.
 No permite programación orientada a objetos.
 No permite recursividad
Siendo la programación gráfica relativamente joven es posible que estas
desventajas sean superadas en versiones posteriores del LabView.
2. AMBIENTE DE PROGRAMACIÓN
La ventana de inicio
Para iniciar el trabajo en LabView presione doble click sobre el ícono “National
Instrument LabView”, con lo que aparecerá la ventana de inicio:

Las diferentes opciones se enuncian a continuación:


Blank VI Permite crear un Instrumento Virtual (VI) en blanco.
Open VI Permite abrir un Instrumento Virtual (VI) construido con
anterioridad.
VI from Template Permite crear un Instrumento Virtual (VI) a partir de una
plantilla.
Exit Termina la ejecución del LabView.
El Panel
El panel permite realizar la presentación que el usuario final verá, en el se colocan
todos los diferentes elementos que permiten el intercambio de información entre el
programa y la persona que ejecutará la aplicación.
Un ejemplo de panel se muestra a continuación:
El diagrama
El diagrama contiene el código del programa. Por medio del lenguaje gráfico se
“dibuja” el algoritmo que procesa la información que se adquiere por medio del
panel. Un ejemplo del diagrama se muestra a continuación:

La paleta de controles
Todas los elementos que pueden ser colocados en el panel se
encuentran en la paleta de controles, ésta aparece al ubicarse
en el área de trabajo del panel y presionar el botón derecho del
mouse.
Una presentación de la paleta de controles se muestra en
la gráfica.

La paleta de funciones

Todas las operaciones disponibles y la implementación de


algoritmos se realizan en forma gráfica a través de los bloques
funcionales que se encuentran en la paleta de funciones, ésta
aparece al ubicarse en el área de trabajo del diagrama y
presionar el botón derecho del mouse.
Una presentación de la paleta de funciones se muestra en
la gráfica.
Paleta de herramientas
La paleta de herramientas permite crear, modificar y
depurar
Vis utilizando sus diferentes opciones.
Si la paleta de herramientas no aparece puede activarla
seleccionando del menú en el panel: Windows show tools
panel. Las opciones de la paleta de herramientas se
enumeran a continuación:

Ventana de errores
La ventana de errores muestra una lista de todas las conexiones inapropiadas
dentro del diagrama. Para que aparezca la ventana debe seleccionar del menú:
Windows Show error list
Ejecución de programas
Debajo del menú principal en el panel y el diagrama se encuentra la barra de
herramientas que permite la ejecución de un programa, la función de algunos de los
íconos son las siguientes:
3. CONTROLES BÁSICOS
Tipos de datos básicos
El panel se construye situando controles e indicadores de la paleta de controles.
Los controles son objetos dentro del panel que el usuario final puede manipular para
entregar datos al programa, son espacios de escritura para el usuario y de lectura
para el programa.
Los indicadores son objetos dentro del panel donde el usuario final puede observar
datos entregados por el programa, son espacios de lectura para el usuario y de
escritura para el programa.
Cada vez que se sitúa un indicador o un control dentro del panel un bloque
equivalente, lla mado terminal, aparece en el diagrama.

Controles e indicadores pueden ser de tres tipos básicos, que se identifican por el
tipo de datos que manejan en el panel y por el color de su terminal en el diagrama.
Tipo de dato numérico
Los datos de tipo numérico manejan información que puede ser representada por
medio de números, tales como longitud, temperatura, color, edad, etc.
Controles e indicadores de tipo numérico se pueden obtener de la subpaleta
Numeric de la paleta de controles.
En el diagrama pueden aparecer de color azul para valores enteros y de color
naranja para valores con decimales.

Tipo de dato booleano


Los datos de tipo booleano manejan información que puede ser representada por
alguno de dos valores, tales como falso y verdadero, prendido y apagado, abierto y
cerrado, etc.
Controles e indicadores de tipo booleano se pueden obtener de la subpaleta
Boolean de la paleta de controles.
En el diagrama aparecen de color verde.

Tipo de dato string y path


Los datos de tipo cadena de caracteres o string, manejan información que
contiene texto, tal como nombre, dirección, ciudad, mensaje, etc.
Los datos de tipo Path tienen información acerca de la localización en disco duro de
directorios y archivos.
Controles e indicadores de tipo string y de tipo path se pueden obtener de la
subpaleta String & Path de la paleta de controles.
En el diagrama los datos de tipo string aparecen de color rojo y los de tipo path
aparecen de color verde.

Propiedades de controles numéricos


Al hacer click sobre un control numérico ubicado en el panel, teniendo seleccionada
la herramienta de menú, se pueden cambiar sus diferentes propiedades:
Visible Items: Permite determinar entre algunas propiedades que pueden colocarse
visibles o invisibles, estas son:
Label Nombre del objeto para la aplicación
Caption Nombre del objeto para el usuario
Unit Label Unidad del dato (metros, grados, litros, etc)
Radix Activa un menú para seleccionar entre binario, octal, hexadecimal,
decimal y notación científica.

Find Terminal Permite encontrar la terminal del objeto en el diagrama


Change to Indicator: Permite cambiar un objeto de control a indicador y
viceversa. Para los indicadores aparece el mensaje “Change to Control”
Description and Tip. Permite escribir un comentario sobre el objeto que
permita al usuario obtener una ayuda.
Create Permite crear elementos que ayudan al cambio de la
presentación del objeto en tiempo de ejecución
Replace Permite cambiar el objeto por otro control
Data operation Permite definir o cargar un valor de inicio
Advanced Permite definir opciones avanzadas, teclas claves,
cambiar la forma, ocultar o inhabilitar, etc.
Representación: Permite definir que tipo de dato numérico se almacenará
en el objeto y cuantos bits se destinará para ello, las opciones son:
EXT, DBL, SGL definen un número en punto flotante de
64, 32 o 16 bits respectivamente.
I32, I16, I8 definen un número entero con signo de 32, 16 y
8 bits respectivamente
U32, U16, U8 definen un número entero sin signo de 32, 16 y 8 bits respectivamente
EXT, DBL, SGL definen un número complejo en punto flotante de
128, 64 o 32 bits respectivamente, la primer mitad para la parte real y la segunda
para la parte compleja.

Data Range Permite definir el valor máximo, el mínimo, el incremento y


el valor inicial
Format & Precision Permite definir la representación (binaria, octal,
hexadecimal decimal), el número de decimales y la notación (punto flotante,
científica, de ingeniería)
Propiedades de controles booleanos
Las propiedades descritas para los controladores numéricos también son válidas, en
su mayoría, para los controles booleanos.
Algunas propiedades diferentes son las siguientes:
Propiedades de controles string
Las propiedades descritas para los controladores numéricos también son válidas, en
su mayoría, para los controles string.
Algunas propiedades diferentes son las siguientes:

Arreglos
Un arreglo es una colección de datos del mismo tipo, éste puede ser de una
dimensió (vector), de dos dimensiones (matriz) o de mas dimensiones (arreglo
multidimensional). Cada valor en un arreglo es identificado por uno o mas subíndices
que ubican su posición.
En la figura se muestra la estructura de un arreglo de una dimensión:

Observe que el primer valor tiene el subíndice 0, el segundo 1, ...


Creación de arreglos
Para crear un arreglo de algún elemento coloque un elemento array en el panel,
dicho elemento se encuentra en la subpaleta Array & Cluster de la paleta de
controles.
Seleccione el elemento del que quiere hacer un arreglo y llévelo dentro del arreglo.
Observe que si el arreglo no tiene algún tipo de dato definido el programa
no puede ejecutarse.

Se puede observar el subíndice del arreglo, es igual a un indicador numérico y


define cual es el valor presente (primero, segundo, tercero,...)
Si se desea mostrar varios valores del arreglo al tiempo se debe modificar el
número de elementos visibles por medio del mouse.

Todos los valores dentro del arreglo pueden ser diferentes pero deben
conservar las mismas propiedades.
Para aumentar la dimensión se puede adicionar uno o varios subíndices por medio
del mouse
Si se tiene mas de una dimensión se puede ampliar el número de elementos
visibles para observarlo en forma de matriz

Grupos de datos
En muchas ocasiones se necesita almacenar en un mismo espacio diferentes
datos, que pueden ser de diferentes tipos, por ejemplo la información sobre
una persona (nombre, dirección, teléfono...), las dimensiones de un elemento (alto,
ancho, largo), etc. En LabView un grupo de datos se puede realizar con un cluster.
Creación de grupos de datos
Para crear un grupo de datos coloque un elemento cluster en el panel, dicho
elemento se encuentra en la subpaleta Array & Cluster de la paleta de controles.
Cada tipo de dato que desee adicionar, selecciónelo y llévelo dentro del cluster
Observe que si el cluster no tiene ningún dato el programa no puede ejecutarse.

4. FUNCIONES BÁSICAS
Ayudas
El LabView cuenta con una ventana de ayuda rápida sobre cualquier función, para
activarla seleccione del menú principal
Help Show Context Help.
Al pasar el mouse sobre cualquier función aparecerá en la ventana de ayuda
información sobre la forma de uso.

Funciones Numéricas.
En la subpaleta numeric de la paleta de funciones se puede encontrar todos los
íconos que permiten manipular valores numéricos

Permite realizar operaciones matemáticas como suma, resta, multiplicación,


redondeo, raíz cuadrada, definir constantes, etc.
Todas las operaciones tiene verificación de unidades, por ejemplo no permite sumar
unidades de distancia con unidades de temperatura
Junto con las operaciones básicas se encuentran otras subpaletas:
Conversión: Tiene las funciones necesarias para convertir entre enteros y decimales,
números y booleanos, números y string; y para realizar cambios de unidades
Trigonometric Tiene las funciones trigonométricas seno, coseno, tangente, etc.
Logarithmic Tiene las funciones exponenciales, logarítmicas y de potencia
Complex Tiene las funciones para manejar números complejos
Additional Numeric Constants Tiene constantes muy utilizadas como pi, constante de
euler, constante de gravitación, constante de avogadro, etc.
Funciones booleanas
En la subpaleta boolean de la paleta de funciones se puede encontrar todos los
íconos que permite manipular valores booleanos

Permite realizar operaciónes lógicas como AND, OR, XOR, NOT, etc. Y realizar
conversiones entre números y valores booleanos.
Funciones de cadenas de caracteres.
En la subpaleta string de la paleta de funciones se puede encontrar todos los íconos
que permiten manipular cadenas de caracteres

Permiten operar texto para medir Longitud, remplazar palabras, convertir a


mayúsculas, etc.
Junto con las operaciones básicas se encuentran otras subpaletas:
Additional String Function Tiene funciones adicionales para la manipulación de
textos
String/Number Conversion Tiene las funciones para la conversión entre números y
texto según diferentes fomatos.
String/Array/Path Conversion Tiene las funciones para convertir entre código
ASCII y Texto; y entre path y texto.
5. GRAFICAS
En la subpaleta Graph de la paleta de controles, se encuentran varios indicadores
que permiten dibujar gráficas de valores generados dentro del programa

Ejercicio 5.1 Gráfica de barrido


La gráfica de barrido permite dibujar uno o mas valores que se van actualizando
cada vez que llega uno nuevo, de tal manera que los puntos anteriores quedan
guardados en memoria.
1. Inicie una nueva aplicación

2. De la subpaleta Graph de la paleta de controles escoja Waveform Chart.


3. De la paleta de funciones escoja: Numeric
Random Number
4. Realice la conexión con el Waveform Chart
5. Ejecute la aplicación. Fíjese como en cada ejecución se marca un nuevo punto
sin borrar los anteriores.
6. Termine la ejecución
7. Teniendo seleccionada la herramienta de propiedades acceda a las
propiedades del
Waveform Chart, seleccione:
Y Scale Auto Scale Y
Esto permitirá que el rango de los valores sea el adecuado para mostrar los datos
8. Teniendo seleccionada la herramienta de propiedades presione el mouse en la
parte que dice Plot 0, para acceder a las propiedades de la curva:
Ensaye las diferentes propiedades y vea como varía la presentación de la gráfica.

6. ESTRUCTURAS DE CONTROL
Las estructuras de control se encuentran en la subpaleta structures de la paleta de
funciones.
Estructura de secuencia
La estructura de secuencia (Sequence) permite realizar instrucciones que deben
ejecutarse en un orden específico, es decir tienen un orden determinado.
Estructura Case
La estructura Case es análoga a las instrucciones if ... then ... else en lenguajes de
programación convencionales basados en texto. La estructura case permite elegir
entre varios casos dependiendo de la variable de entrada, puede verse como un
conjunto de bloques donde solo uno se ejecuta a la vez.
Ciclo for
Un ciclo for repite el diagrama de bloques un número predeterminado de veces, en
el se pueden identificar dos campos:

Indica cuantas veces se desea repetir el diagrama

Indica cuantos ciclos han transcurrido

Ciclo While.
Un ciclo while repite un diagrama de bloques hasta o mientras que una
condición sea verdadera.
El ciclo while tiene dos campos

Al igual que en el ciclo for también se pueden utilizar registros de corrimiento.


Ejercicio 6.5 Salir cuando nivel alto
Se construirá una aplicación que termina cuando el nivel es mayor a 8
1. Inicie una nueva aplicación.
2. En el panel ubique un control numérico TANQUE
3. En el panel ubique un Waveform Chart
4. En el panel ubique un indicador numérico U32 de nombre "Número de ciclos"
5. De la subpaleta Structure de la paleta de funciones seleccione While Loop.
6. Realice las conexiones.
7. Utilice la ejecución animada para ver el funcionamiento tanto en el panel como
en el diagrama. No utilice ejecución continua, sólo ejecución sencilla.
8. Estando en ejecución modifique el nivel del tanque, si utilizó ejecución sencilla el
programa parará cuando el nivel suba de 8.
9. Termine la ejecución

Nodo de fórmulas
Un nodo de fórmulas permite desarrollar código de texto en un lenguaje similar al C.
Ejercicio 6.6 Promedio de dos números
1. Inicie una nueva aplicación
2. Coloque dos controles numéricos y un indicador numérico
3. De la subpaleta Structure de la paleta de funciones seleccione Formula Node
4. Selecciones la herramienta de propiedades, presione el botón del mouse en el
borde izquierdo del nodo de fórmulas y escoja Add Input
5. Aparece un bloque donde se define el nombre de una variable de entrada,
escriba allí "x"
6. Nuevamente presione el botón del mouse en el borde izquierdo del nodo de
fórmulas y escoja Add Input
7. En el nuevo bloque escriba "y"
8. con la herramienta de propiedades, presione el botón del mouse en el borde
derecho del nodo de fórmulas y escoja Add Output
9. Aparece un bloque donde se define el nombre de una variable de salida, escriba
allí
"prom"
10. Dentro del nodo de fórmula escriba el cálculo del promedio:
prom = (x + y)/2;
11. realice la conexión:
12. Ejecute la aplicación y verifique el cálculo del promedio.

CREACIÓN DE SUBVIs.
Una vez que un VI es creado, éste puede ser usado como un subVI en el diagrama
de bloques de un nivel mas alto. Si un diagrama de bloques tiene muchos íconos se
pueden agrupar varios de ellos en un subVI para conservar la simplicidad del
diagrama.
Los subVIs son similares a las funciones en lenguajes de programación en código.
Ejercicio 7.1 Número de leds encendidos en un array booleano
1. Inicie una nueva aplicación
2. En el panel coloque un array de controles booleanos y asígnele el nombre
"VECTOR DE LEDS". Amplíelo para ver varios componentes.
3. Coloque un indicador numérico y asígnele el nombre "NUMERO DE
ENCENDIDOS", cambie la representación a U8
4. De la paleta de funciones seleccione
Numeric Add Array element
5. De la paleta de funciones seleccione
Boolean Boolean to (0,1)
6. Realice la conexión

Este programa permite contar cuantos leds hay encendidos en el vector


7. Ejecute la aplicación y verifique el funcionamiento.

Editar el Icono
8. Seleccione la herramienta de propiedades y presione el botón del mouse sobre
el ícono que aparece en la parte superior derecha en el panel (solamente en el
panel, no funciona en el diagrama) y escoja Edit Icon
Llegará a un editor donde se puede dibujar el ícono, utilizando las diferentes
herramientas dibuje alguna figura que identifique el programa

9. Una vez dibujado presione OK y el dibujo aparecerá en el ícono de la parte


superior derecha en el panel.
10. Con la herramienta de propiedades vaya de nuevo al ícono y presione el botón
del
mouse, escoja show conectors. En lugar del ícono aparecerá un cuadro
dividido en dos partes, esto identifica el número de entradas y salidas que tendrá
el VI. Si se quieren definir diferente número de entradas y salidas se puede ver
varios modelos marcando nuevamente las propiedades y escogiendo la opción
patterns.
Asignando Conexiones
11. Seleccione la herramienta de cableado y presione el botón del mouse en la mitad
izquierda del ícono, y luego presione el botón del mouse sobre el control
"VECTOR DE LEDS". La parte izquierda de las conexiones quedará asignada al
vector booleano
12. Presione el botón del mouse en la mitad derecha del ícono y luego presione el
botón del mouse sobre el indicador "NUMERO DE ENCENDIDOS". La parte derecha
de las
conexiones quedará asignada al indicador numérico.
13. Si se desea ver de nuevo el icono de la aplicación seleccione de las propiedades
la opción Show Icon
Creando ayudas para el VI
14. De las propiedades del ícono seleccione
VI Properties
Aparecerá entonces una ventana donde están las propiedades de la aplicación.

15. En el campo "Category" (parte superior de la ventana abierta) aparecen las


diferentes características que pueden cambiarse, de allí escoja Documentation.
16. En el campo "VI Description" se escribe comentarios sobre la aplicación que
servirán de ayuda para posibles usuarios posteriores.
17. En el campo "VI Description" escriba "Cuenta cuantos leds hay encendidos en un
vector booleano".

18. Presione OK
19. Grabe la aplicación con el nombre "encendidos.vi"
20. Cierre la aplicación.
Llamando el subVI desde otra aplicación

21. Inicie una nueva aplicación


22. En el panel Coloque un array de controladores booleanos
23. En el panel coloque un indicador numérico
24. En la paleta de funciones en el diagrama seleccione:
25. Select a VI...
26. Esta generalmente se encuentra entre las dos últimas opciones de la
paleta de funciones.
27. Escoja el archivo creado "encendidos.vi". Aparecerá el ícono de la aplicación
realizada antes.
28. Realice las conexiones:

29. Ejecute la aplicación y verifique los resultados.


Ejercicios adicionales
30. Realice un subVI que calcule el promedio de tres números
31. Realice un subVI que tenga como entrada tres números y como salida el mayor,
el menor y el del medio.
32. Realice un subVI que calcule el mínimo común múltiplo de dos números
33. Realice un subVI que calcule el máximo común divisor de dos números
8. EJERCICIOS DE APLICACION

Puerto Paralelo

El puerto paralelo de la computadora permite enviar y recibir grupos de bits, para ello
cuenta con
3 registros:

Registro Tipo Pines disponibles


Datos Entrada - Salida D7 D6 D5 D4 D3 D2 D1
Estado Entrada I7 I6 I5 I4 I3
D0
Control Salida C3 C2 C1 C0
Las direcciones de los tres registros son consecutivas, empezando desde el registro
de datos
hasta el de control, de la 888 a la 890 (378 a 37A en hexadecimal) en la mayoría de
las
computadoras. El valor de inicio puede verificarse en el SETUP del computador. La
configuración de pines se muestra a continuación.

Algunos de los pines están negados, lo que significa que la computadora hará una
acción inversa sobre ellos: al mandar un uno lógico mostrarán un cero, al mandar un
cero lógico mostrarán un uno.
El registro de datos puede ser configurado como entrada o salida, en algunas
computadoras debe ponerse el bit 5 del registro de control en 0 para salida y en 1
para entrada
En el LabView el manejo de puertos puede hacerse a través de la paleta de
funciones en la ruta: Advanced Port I/O
Para el ensayo de los puertos se realizará el siguiente montaje:
Ejercicio 8.2 Manejo del puerto paralelo

1. Inicie una nueva aplicación


2. En el panel coloque un vector de controles booleanos, amplíelo para ver
solamente los ocho primeros componentes
3. Realice la conexión mostrada usando las funciones: Advanced Port I/O Out
Port
Boolean Boolean Array To Numbe

4. Ejecute la aplicación y verifique, cada led que encienda en la


computadora corresponde a un led en el montaje
5. Termine la aplicación
6. Inicie una nueva aplicación
7. En el panel coloque un vector de indicadores booleanos, amplíelo
para ver solamente los ocho primeros componentes
8. Realice la conexión mostrada usando las funciones: Advanced Port I/O Out
Port Advanced Port I/OOut Port
Boolean Number To Boolean Arra
9. Ejecute la aplicación, cada dipswitch que cambie en el montaje tendrá
su correspondiente led en el panel.
EJERCICIOS APLICATIVOS

You might also like