Documente Academic
Documente Profesional
Documente Cultură
1. PROGRAMAR EN LabVIEW
LabVIEW es un entorno gráfico que permite sustituir los comandos habituales en
cualquier lenguaje de programación por funciones u objetos gráficos que pueden
conectarse entre si. Ofrece una mayor flexibilidad y rapidez en el proceso de
programación puesto que permite sustituir 20 ó 30 líneas de código C++ por uno o
varios iconos. Es decir, se trata de una programación a alto nivel. En principio puede
parecer que la manera de programar una aplicación en LabVIEW pueda ser muy
diferente a hacerlo en cualquier otro lenguaje. Veremos que los planteamientos básicos
son exactamente los mismos.
Cualquier programa siempre se basará en:
Empleo de unas estructuras de datos.
Construcción de un algoritmo.
Se necesita en primer lugar tener claros los objetivos de la aplicación, una
descripción exacta del orden determinado en que se han de ejecutar una serie de
operaciones y generalizar lo máximo posible aquellas acciones que sean del mismo
estilo para obtener un programa lo más compacto y modular posible.
2. TIPOS DE DATOS
Tenemos dos tipos de datos:
Estructurados
No estructurados o escalares, es decir no divisibles en componentes.
Esto supone dos ventajas:
Primera: Al declarar el tipo de datos antes de usar una variable, el compilador podrá
detectar los errores de incompatibilidad de determinados operadores con variables. Esto
es muy útil cuando el programa es largo.
Segunda: Cada tipo de dato se representa dentro de la memoria del computador en un
formato determinado. Si los identificadores de tipos cambiasen durante la ejecución del
programa, la reserva del espacio en memoria se complicaría y la ejecución del programa
sería más lenta.
1
Sistemas y Equipos de Medida
2
Sistemas y Equipos de Medida
File (archivo): Se usa básicamente para abrir, cerrar, guardar e imprimir VIs.
Edit (fichero): Utilizado para organizar el panel frontal, establecer el diagrama de
bloques y establecer nuestras preferencias.
Operate (función): Proporciona los comandos necesarios para ejecutar el VI,
también permite escribir cuando finaliza la ejecución.
Project (proyecto): Presenta los niveles de jerarquía, los subVIs que lo integran, los
que están sin abrir, busca VIs, etc.
Windows (ventanas): Se utiliza básicamente para mostrar ventanas, historiales,
herramientas, portapapeles, etc.
Help(ayuda)
En la parte inferior del menú desplegable aparece otra barra de herramientas muy
útil, con ella podemos tratar los diferentes tipos de letras, la alineación y distribución de
objetos. También aparecen opciones para controlar la ejecución del programa.
3
Sistemas y Equipos de Medida
La ventana Context Help (que se activa desde el menú Help/Show Context Help)
ofrece información sobre funciones, constantes, subVIs, controles e indicadores. Debe
tenerse en cuenta que la descripción de cualquier VI no puede superar los 256
caracteres.
Cada VI generalmente se caracteriza por tener unos terminales que se identifican con
las etiquetas de los controles e indicadores utilizados en el panel frontal.
4
Sistemas y Equipos de Medida
5
Sistemas y Equipos de Medida
LabVIEW ofrece una gran variedad de datos con los que podemos trabajar
respondiendo a las necesidades reales con las que nos encontremos. Uno de los aspectos
más significativos es la diferenciación que efectúa en el diagrama de bloques entre los
diferentes tipos de controles e indicadores, basada en que cada uno de ellos se identifica
con un color. Distinguimos los siguientes datos:
Booleano (verde claro): Enteros de 16 bits, donde el bit más significativo contiene
el booleano. El bit 15 se pone a 1 si se trata de un valor verdadero y 0 si es falso.
Numéricos: pueden distinguirse distintos tipos,
Extendido (naranja) 80 bits
Double (naranja) 64 bits
Single (naranja) 32 bits
Long Integer(azul) 32 bits
Word integer (azul) 16 bits
Byte integer (azul) 8 bits
Unsigned long (azul) Entero largo sin signo
6
Sistemas y Equipos de Medida
6. PROGRAMACIÓN ESTRUCTURADA
A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de
sentencias un número determinado de veces, o que éstas se repitan mientras se den una
serie de condiciones... También puede ocurrir que queramos ejecutar una u otra
sentencia dependiendo de unas condiciones determinadas o simplemente forzar que se
ejecuten unas sentencias antes que otras.
7
Sistemas y Equipos de Medida
LabVIEW dispone de cuatro estructuras que se denominan: For Loop, While Loop,
Sequense Structure y Case Structure.
8
Sistemas y Equipos de Medida
9
Sistemas y Equipos de Medida
10
Sistemas y Equipos de Medida
Remove While loop Borra el bucle sin eliminar la programación que haya en su
interior.
Add shift register Añade los registros de desplazamiento.
Stop if True El bucle se parará si la condición cableada al terminal condicional es
cierta.
Continue if True El bucle se parará si la condición cableada al terminal
condicional es falsa.
Cuando se quiere sacar un dato del interior del bucle se genera un túnel y por defecto
se obtiene un dato “no indexado”. De este modo al finalizar el bucle puede obtenerse el
último valor generado dentro del bucle.
Registros de desplazamiento
Tiene las mismas propiedades y características que los vistos en el bucle For.
A 4 (A4.vi): Modificar el programa A2.vi sustituyendo la estructura For Loop por la
estructura While y restringiendo la generación de números aleatorios a 4.
Los elementos del array que aparecen en gris es que no se han activado.
11
Sistemas y Equipos de Medida
12
Sistemas y Equipos de Medida
Este tipo de estructuras se diferencia de las iterativas en que nos permiten establecer
el orden de ejecución de los casos o secuencias que programemos. En la parte superior
aparece una ventana en la que se visualiza el identificador del caso o secuencia que se
está visualizando. A ambos lados de la ventana aparecen unos botones que permiten
aumentar o decrementar el identificador del caso o secuencia.
CASE: Se utilizará en aquellas situaciones en el que el número de alternativas sean
dos o más. Según el valor que tome el selector se ejecutará un Caso u otro. Consta de un
terminal llamado selector y un conjunto de casos, cada uno de los cuales está dentro de
un case identificado por un identificador del mismo tipo que el selector, podrá ser
booleano, numérico,o string. En estos dos últimos casos uno de ellos ira marcado como
Default. Si es booleano solamente dispondremos de dos posibilidades y si es numérico o
string la estructura podrá tener hasta 214 casos.
13
Sistemas y Equipos de Medida
14
Sistemas y Equipos de Medida
15
Sistemas y Equipos de Medida
Como vemos en todos los Case los túneles de salida tienen un valor asignado (por
eso el túnel es opaco). Si esto no sucediese, el túnel no sería opaco, su interior sería
blanco y la flecha de ejecución aparecería rota, como vemos en la siguiente imagen.
FRAME: Con esta estructura forzamos a que la ejecución del programa se ejecute en
un determinado orden, cada Frame contendrá una programación y se ejecutarán según
el orden de aparición. En este caso si un Frame proporciona un dato de salida éste
puede ser compartido por las demás, siempre que se ejecuten después de él. Al igual que
en la estructura Case también se dispone de un menú desplegable con las opciones
vistas en la estructura Case.
A7 (A7.vi): Veamos el uso de la estructura Frame. Usaremos una estructura con dos
Frames. En el Frame 0 (el primero que se ejecuta) hacemos una suma de un número A
que introducimos a través de un control con una constante de valor 100. El valor del
Número A lo pasamos al Frame 1 a través de una Local Sequence y lo sumamos a un
número aleatorio. El resultado lo sacamos al exterior a través de un túnel y también lo
conectamos a una Local Sequence para que se vea que no se puede usar en el Frame 0.
16
Sistemas y Equipos de Medida
17
Sistemas y Equipos de Medida
18
Sistemas y Equipos de Medida
19
Sistemas y Equipos de Medida
20
Sistemas y Equipos de Medida
1.- El programa no inicie el cálculo de las operaciones hasta que se pulse un botón de
actualización, cuya acción mecánica debe ser Mechanical Action/Swith Until Realeased
(menú desplegable del pulsador en el Front Panel).
2.- Si A o B [10.4, 40] debe aparecer un indicador tipo cadena que indique que se
está fuera de rango o no.
3.- Compruebe el rango de los valores de entrada y actúe en consecuencia:
A,B [10.4, 20] Actúen únicamente los leds indicadores y los indicadores
numéricos deben mostrar el valor numérico ‘0’.
A,B [20.1, 29] Actúen los leds y se visualicen los resultados.
A,B [29.01,40] Sólo se visualicen los resultados en los indicadores numéricos
y los leds indicadores deben de mostrar el valor booleano ‘False’.
4.- Debe ser posible introducir nuevos datos sin interrumpir la ejecución del
programa.
21
Sistemas y Equipos de Medida
22