You are on page 1of 42

INTRODUCCIN AL LabVIEW PARTE I

LabVIEW es un software de programacin grfico, que posee dos ventanas: El panel de control y el panel de diagramas. En el panel de control se ubican todos los controles e indicadores que se requiera; y en el panel de diagramas se interconectan los terminales de estos.

Utilizando las opciones SHOW PANEL/SHOW DIAGRAM (mostrar panel/mostrar diagrama) del men WINDOWS se pueden activar cada uno de los paneles o ver ambos al por medio del comando TILE LEFT AND RIGHT/TILE UP AND DOWN del mismo men.

MENUS DEL LabVIEW


La barra de mens de la parte superior del programa LabVIEW contiene diversos mens desplegables:

Estos mens contienen elementos comunes a otras aplicaciones Windows, como OPEN, SAVE o PASTE adems de muchos otros particulares de LabVIEW. La siguiente figura muestra la barra de mens para la versin 4.1, que es igual para las ventanas PANEL y DIAGRAM.

FILE Sus opciones se usan bsicamente para abrir, cerrar, guardar e imprimir VIs. EDIT
Se usa principalmente para organizar el panel frontal y el diagrama de bloques y establecer las preferencias o configuraciones del software.

OPERATE Sus comandos sirven para ejecutar el VI. Presenta opciones como la impresin cuando acaba la ejecucin. PROJECT

Presenta los niveles de jerarqua, los SubVIs que lo integran, los que estn sin abrir, busca VIs, etc. WINDOWS Se utiliza bsicamente para mostrar (SHOW) ventanas, como pueden ser las de informacin, historial, controles/funciones, herramientas, portapapeles, etc. HELP Presenta ayuda sobre los diferentes iconos y otros aspectos de LabVIEW. El men de LabVIEW que con ms frecuencia se utiliza es el men pop-up de objetos, al cual se accede situando el cursor sobre el objeto en mencin y pulsando el botn derecho del Mouse. Si la pulsacin se hace sobre un espacio vaco, el men que se obtendr vendr en funcin de la herramienta seleccionada. HERRAMIENTAS DE LabVIEW CONTROLES DE EDICION Se obtienen al pulsar Shift+clic derecho del Mouse sobre un espacio vaco o mediante la opcin SHOW TOOLS PALETTE del men WINDOWS. Se fija haciendo clic con el botn izquierdo del Mouse sobre el pin de la barra superior de la paleta desplegada.

La herramienta se selecciona haciendo un clic sobre el icono de la herramienta requerida. OPERATE VALUE. Maneja los controles del panel frontal. POSITION/SIZE/SELECT. Selecciona, mueve y cambia el tamao de los objetos. EDIT TEXT. Crea y edita textos. CONNECT WIRE. Enlaza objetos del diagrama de bloques y asigna a los terminales del conector del VI los controles e indicadores del panel frontal.

OBJECT POP-UP. Despliega el men emergente asociado al objeto. Tiene el mismo efecto que si se pulsara el botn derecho del Mouse sobre el objeto. SCROLL WINDOW. Desplaza la pantalla en la direccin que se desee para ver posibles zonas ocultas. SET/CLEAR BREAKPOINT. Permite poner tantos puntos de ruptura como se desee a lo largo de un diagrama de bloques. Cuando durante la ejecucin se llegue a uno de ellos, LabVIEW conmuta automticamente al diagrama de bloques. Se usa esta misma herramienta para quitar estos puntos. PROBE DATA. Sirve para comprobar los valores intermedios dentro de un VI que es ejecutable pero que genera resultados sospechosos o inesperados. GET COLOR. Permite saber de manera especfica qu color tiene un objeto, texto u otro elemento. SET COLOR. Colorea diversos objetos y fondos. NOTA. Cuando se pasa el cursor sobre una funcin, un VI o un SubVI (incluyendo el icono del VI abierto, situado en la parte superior derecha de la ventana del VI), la ventana Help muestra su icono con los cables del tipo de dato apropiado para cada terminal. Las variables de entrada quedan a la izquierda y las de salida a la derecha. Los nombres de las terminales aparecen junto a los cables. Si el VI tiene asociada una descripcin, esta se visualizar. Estas descripciones se introducen mediante el dilogo GET INFO (obtener informacin) del VI. Al colocar la herramienta CONNECT WIRE sobre un cable, la ventana help visualiza el tipo de dato transportado por ese cable. Asimismo cuando se mueve la herramienta CONNECT WIRE sobre el icono del VI, el terminal correspondiente al conector se ilumina en la ventana Help. Al situarla sobre una funcin, de su icono sale un pequeo trozo de cada terminal, quedando reflejado en una etiqueta el nombre del terminal al que se le va a realizar la conexin. Todo asegura una unin prcticamente sin posibilidad de errores. La opcin HELP ONLINE del men pop-up de un objeto, describe el tipo de variables y conexiones que se asocian a este objeto. CONTROLES DE EJECUCION

En el diagrama de bloques se cuenta con la siguiente barra de herramientas:

EJECUCION NORMAL. Ejecuta el programa en forma normal (una sola vez si el programa no cuenta con secuencias repetitivas). Cuando el botn , LabVIEW indica que el programa no se puede presenta esta apariencia ejecutar por alguna razn (mala conexin, ausencia de variables, contradiccin, etc.) Al hacer clic sobre este botn, LabVIEW muestra un cuadro de dilogo: Lista de errores que muestra los errores que contiene el VI y permite la opcin de ir hacia ellos haciendo clic sobre cada uno y luego en Find.

EJECUCION CONTINUA. Ejecuta el programa de una manera repetitiva (siempre y cuando lo permita) DETENER. Botn que sustituye a cuando se est ejecutando un VI. Interrumpe la ejecucin de un VI en cualquier momento. PAUSA. Realiza una pausa momentnea, tan larga como se desee, en la ejecucin de un VI. Se reinicia la ejecucin del VI volviendo a hacer clic en el botn . EJECUCION RESALTADA. Que cambia al hacer clic sobre l. Para volver a ejecucin normal basta con volver a hacer clic sobre este botn. Permite observar cmo se realiza el flujo de datos a travs de los nodos del diagrama de bloques. Este modo de ejecucin hace ms lenta la ejecucin del VI. A medida que los datos pasan de un nodo a otro su movimiento se indica por medio de unas burbujas que van recorriendo los cables. EJECUCION PASO A PASO Al hacer clic sobre los iconos y se obtiene un modo de ejecucin que permite mostrar el desarrollo del programa operacin por operacin quedando en estado de pausa luego de cada paso. Su funcin se diferencia

nicamente cuando en el programa existe una estructura (como While, For Loop, Case, etc). Es as como permite pasar al interior de la estructura y ejecutar paso por paso las operaciones que se encuentran adentro. El botn permite saltar el objeto, ejecutndolo en forma normal (muy conveniente en el caso de que se tenga una estructura repetitiva con muchas repeticiones). Para volver al modo de ejecucin normal se pulsa el botn . EJEMPLO. Realizar un programa: Ejerc1.VI que represente un circuito escalera, con dos controles (suiches) y un indicador (bombillo). NOTA: El programa tal como est debe ser ejecutado mediante ejecucin continua ya que no cuenta con ninguna estructura repetitiva. Apariencia final del Panel de control

Apariencia final del Diagrama de bloques

PROCEDIMIENTO Por medio de la opcin Show Control Panel del men WINDOWS, se visualiza la paleta CONTROLS, se seleccionan los suiches (Vertical Toggle Swich) del men Boolean, arrastrndolos con el Mouse hasta el lugar del panel que se desee.

Se escriben los ttulos suiche1 y suiche2 en los Label que se despliegan al insertar cada uno de ellos. En caso de que no se escriba inmediatamente despus de insertarlo, se da un clic derecho con el Mouse sobre el objeto y se selecciona Show Label, apareciendo un cuadro de texto en el que se puede escribir el label o ttulo descriptivo del control.

Ntese que luego de insertar los controles en el panel de control, se generan dos iconos en el diagrama de bloques, as:

Estos se conectarn mediante cables a los dems objetos del programa, como se ver ms adelante. Por medio de la opcin Show Control Panel del men WINDOWS, se visualiza la paleta CONTROLS, se selecciona el indicador (Round LED) del men Boolean, arrastrndolos con el Mouse hasta el lugar del panel que se desee.

Se escribe, como se explic en el numeral 3.1.2., el label del indicador: bombillo.

Este indicador genera en el diagrama de bloques el siguiente icono: NOTA. Los colores de los indicadores, controles y fondo del panel de control pueden ser cambiados. mediante la herramienta Set Color (colorear) de la paleta tools. Ubicando el pincel y haciendo clic derecho con el Mouse sobre el objeto al que se desee cambiarle el color. Se elige el color final de la paleta de colores que se despliega.

Por medio de la opcin Show functions Panel del men WINDOWS (en el Diagrama de Bloques) se visualiza la paleta FUNCTIONS, se seleccionan las funciones lgicas del men Boolean, arrastrndolas con el Mouse hasta el lugar del panel que se desee.

Luego de este procedimiento, se obtiene el siguiente resultado en el Diagrama de bloques:

Mediante la herramienta CONNECT WIRE (Conexin de cables), se conectan los indicadores, funciones lgicas y controles entre s.

Ntese que al pasar el cursor (rollo de cable) sobre las funciones, se resaltan los terminales a conectar; lo mismo sucede con los indicadores y conectores. Esto hace prcticamente imposible el cometer errores al conectar. La conexin se inicia con un clic sobre alguno de los destinos del cable (asegurarse de que se resalte la terminal) y finaliza al hacer clic en el otro destino. Se puede cambiar de direccin haciendo clic en espacios vacos cuantas veces se requiera.

EJECUCION DEL PROGRAMA El programa podr ser ejecutado una vez todas las conexiones se hayan realizado. (El icono cambiar a ). NOTA: Debido a que este programa no cuenta con una estructura repetitiva que permita la ejecucin cclica del programa, ste deber ejecutarse mediante EJECUCION CONTINUA para que sea comprendido su funcionamiento plenamente. Para cambiar la posicin de los suiches, antes o durante la ejecucin del programa, se debi seleccionar la herramienta OPERATE VALUE (Valor operativo) de la paleta Tools.

As pues, el suiche se cambiar de posicin haciendo un simple clic sobre l.

El bombillo se iluminar una vez la funcin arroje un resultado verdadero 1 y se apagar cuando reciba una seal 0.

PRCTICA 7 INTRODUCCION AL LabVIEW PARTE II ESTRUCTURAS REPETITIVAS


A la hora de programar muchas veces es necesario ejecutar un mismo conjunto de sentencias un nmero determinado de veces, o que stas se repitan mientras se cumplan ciertas condiciones. Tambin puede ocurrir que se quiera ejecutar una u otra sentencia dependiendo de las condiciones fijadas o simplemente forzar que unas se ejecuten siempre antes que otras.

Para ello LabVIEW dispone de cuatro estructuras fcilmente diferenciables por su apariencia y disponibles en la opcin STRUCTURES del men FUNCTIONS en la ventana Diagrama.

ESTRUCTURA ITERATIVA WHILE LOOP


Se utiliza While Loop cuando se requiere que una operacin se repita mientras una determinada condicin sea cierta. Su equivalente en lenguaje convencional es:

Do ejecutar subdiagrama While condicin is TRUE (Aunque esta estructura es ms similar al comando Repeat-Until, ya que se repite como mnimo una vez, independientemente del estado de la condicin). Al igual que For Loop contiene dos terminales: Terminal condicional Al l se conectar la condicin que har que se ejecute el subdiagrama. LabVIEW comprobar el estado de este terminal al final de cada iteracin, si su valor es TRUE (verdadero) continuar, pero por el contrario si su valor es FALSE (falso) detendr la ejecucin. Terminal de iteracin

Indica el nmero de veces que se ha ejecutado el bucle y que, como mnimo, siempre ser una (i=0).

Al hacer Pop-up tanto en el For Loop como en el While Loop se despliega el siguiente men:

Show Label: Oculta o visualiza la etiqueta de identificacin del Loop y, si no existe, permite ponerla. Description: Permite aadir comentarios Replace: Cambia el For Loop o el While Loop por cualquier otra funcin de la paleta Functions. Remove Loop: Borra la estructura While o For pero sin el eliminar el subdiagrama de su interior. Add Shift Register: Aade los registros de desplazamiento.

EJEMPLO. La banda se ubica en la posicin de la suma de los dos controles digitales hasta que se oprima STOP. (Uso de la estructura while)

REGISTROS DE DESPLAZAMIENTO

Los registros de desplazamiento o Shift Register son variables locales, disponibles tanto en el While Loop como en el For Loop, que permiten transferir los valores del final de una iteracin al principio de la siguiente.

Inicialmente Shift Register tiene un par de terminales colocados a ambos lados del Loop; el terminal de la derecha almacena el valor final de la iteracin hasta que una nueva hace que este valor se desplace al terminal de la izquierda, quedando en el de la derecha el nuevo valor. Un mismo registro de desplazamiento puede tener ms de un terminal en el lado izquierdo, para aadirlo, se escoge la opcin Add Element (aadir elemento) del men Popup. Cuanto ms terminales se tenga en el lado izquierdo, ms valores de iteraciones anteriores podremos almacenar. El men Pop-up tiene otros dos comandos:

Remove element: Borra un terminal del lado izquierdo siempre y cuando el registro de desplazamiento tenga asociado ms de uno. Remove all: Borra todo el registro de desplazamiento, tanto las terminales de la izquierda como el de la derecha.

Un mismo Loop puede tener varios registros de desplazamiento, siendo conveniente inicializarlos, para que los terminales de la izquierda tengan el valor deseado cuando se produzca la primera iteracin. Shift register puede trabajar con cualquier tipo de datos siempre y cuando los datos que se conecten a cada terminal sean del mismo tipo.
Al finalizar la ejecucin de todas las iteraciones el ltimo valor quedar en el terminal de la derecha; unindolo a un indicador del mismo tipo de dato fuera del loop se puede obtener su valor.

Pero existe otra posibilidad para pasar datos de forma automtica desde el interior de la estructura al exterior. Cuando un cable atraviesa los lmites del Loop, aparece en el borde un nuevo terminal llamado tnel que hace de conexin entre el interior y el exterior, de forma que los datos fluyen a travs de l despus de cada iteracin del Loop, pudiendo guardar de esta manera no slo el ltimo valor de todas las iteraciones sino tambin los valores intermedios. A esta posibilidad que tienen tanto el For como el While de acumular arrays en sus lmites automticamente se le llama auto-indexing o autoindexado. LabVIEW habilita por defecto el auto-indexing en el For Loop ya que es ms frecuente utilizar esta estructura para crear Arrays que el While Loop, en el cual esta opcin est deshabilitada por defecto y cuya utilizacin podra provocar problemas de memoria debido a que no se sabe cuntas veces se va a ejecutar. No obstante, haciendo pop-up en el tnel se puede habilitar o deshabilitar esta opcin.

EJEMPLO. La banda se desplaza hasta llegar al final (100) con una velocidad de 10 pasos cada medio segundo. (Uso de los shift Register).

ESTRUCTURAS CASE Y SEQUENCE


Este tipo de estructuras se diferencia de las iterativas en que puede tener mltiples subdiagramas, de los cuales solamente uno es visible a la vez. En la parte superior de cada estructura existe una pequea ventana que muestra el identificador del subdiagrama que se est mostrando. A ambos lados de esta ventana existen dos botones que decrementan o incrementan el identificador de forma que se pueda ver el resto de subdiagramas.

ESTRUCTURA CASE
Se utiliza la estructura case en aquellas ocasiones en las que el nmero de alternativas posibles sean dos o ms. Segn qu valor tome el selector dentro de los n valores posibles, se ejecutar en correspondencia uno de los n subdiagramas. La estructura case consta de un terminal llamado selector y un conjunto de subdiagramas, cada uno de los cuales est dentro de un case o suceso identificado por un etiquetador del mismo tipo que el selector, este ser booleano o numrico. Si se conecta un valor booleano al selector la estructura tendr dos case: False y True. Pero si se conecta un valor numrico a la estructura podr tener hasta 214 case.

En este caso, la estructura case engloba dos sentencias diferentes de otros lenguajes convencionales: 1. If condicin true then ejecutar case true else ejecutar case false 2. Case selector of 1: ejecutar case 1; n: ejecutar case n end
Case no cuenta con los registros de desplazamiento de las estructuras iterativas, pero s se pueden crear los tneles para sacar o introducir datos. Si un case o suceso proporciona un dato de salida a una determinada variable, ser necesario que todos lo dems tambin lo hagan, si no ocurre de esta manera ser imposible ejecutar el programa.

ESTRUCTURA SEQUENCE
Esta estructura no tiene su homloga en los diferentes lenguajes convencionales, ya que en stos las sentencias se ejecutan en el orden de aparicin pero, en LabVIEW una funcin se ejecuta cuando tiene disponibles todos los datos de entrada. Se produce de esta manera una dependencia de datos que hace que la funcin que reciba un dato directa o indirectamente de otra, se ejecute siempre despus, crendose un flujo de programa. Pero existen ocasiones en que esta dependencia de datos no existe y es necesario que un subdiagrama antes que otro, es en estos casos cuando se requiere el uso de la estructura sequence para forzar un determinado flujo de datos. Cada subdiagrama estar contenido en un frame o marco y estos se ejecutarn en orden de aparicin: primero el frame 0, luego el frame 1 y as, sucesivamente, hasta el ltimo. Al contrario del case, si un frame aporta un dato de salida a una variable, los dems no tendrn por qu hacerlo. Pero se debe tener en cuenta que el dato estar disponible solamente cuando se ejecute el ltimo frame y no cuando se ejecute el frame que transfiere el dato.

Debido a la similitud de los mens pop-up de las estructuras case y sequence, se estudiarn en forma conjunta indicando en cada caso las posibles diferencias que puedan existir:

Case con selector Booleano Case con selector numrico

Sequence

Show Label: Oculta o visualiza la etiqueta de identificacin de la estructura y si no existe, permite ponerla. Description: Permite aadir comentarios. Replace: Cambia la estructura case o sequence por cualquier otra funcin de la paleta de funciones. Remove case structure o sequence: Borra completamente la estructura case o sequence y todos los subdiagramas menos el que se est visualizando en el momento de la ejecucin de este comando. Add Sequence local (aadir secuencia local): Esta opcin est solo disponible en el men de la estructura sequence y se utiliza para pasar datos de un frame a otro. Una pequea flecha con la punta hacia el exterior de la estructura indica el frame de origen de la secuencia local, mientras que una flecha apuntando hacia el interior indica que la secuencia local contiene un dato de salida. Todos los frames posteriores al que contiene la secuencia local que origina el dato podrn disponer de l, no siendo as para los frames anteriores en los cuales aparecer un cuadrado vaco que indicar que los datos no estn disponibles. Show case o show frame: Permite ir directamente al subdiagrama que se quiere visualizar sin tener que pasar por todos los case o frame intermedios que pudiera haber. Al pulsar esta opcin, un men conteniendo todos los identificadores se desplegar y slo se tendr que sealar con el cursor del mouse el que deseamos ver. Si slo hubiesen dos subdiagrams aparecer directamente el nombre del nico identificador que se puede visualizar, como en el caso de case con selector booleano. Add case after o add frame after: Este comando inserta un subdiagrama vaco inmediatamente despus del que se est visualizando. Add case before o add frame before: Inserta un subdiagrama vaco justo un nivel por encima del que se est visualizando. Duplicate case o duplicate frame: Inserta una copia del subdiagrama visible inmediatamente despus de l. Make this case o make this frame: Mueve un subdiagrama a otra posicin. Remove case o remove frame: Borra el subdiagrama visible. Este comando no est disponible si solamente existe un case o un frame.

En el caso de la estructura sequence numrica, si no hay una secuencia, no aparece ningn identificador de frame, mientras que si hay ms de uno, se indica en cual se est y cuntos hay. Igual pasa con la estructura case, slo que en este caso se tendr como mnimo, dos posibles estados.

VARIABLES GLOBALES Y LOCALES


Las variables son imprescindibles en cualquier tipo de problemas, ya que permiten almacenar la informacin necesaria para su resolucin. En el LabVIEW todos los controles introducidos en el panel frontal que generan un terminal en la ventana diagrama van a ser variables, identificables por el nombre asignado en la etiqueta. Pero puede ocurrir que se

quiera utilizar el valor de cierta variable en otro subdiagrama o en otro VI o, simplemente, se quiera guardar un resultado intermedio. La forma ms sencilla de hacerlo es generando variables locales y/o globales dependiendo de la aplicacin.

VARIABLES LOCALES En las variables locales las variables se almacenan en algunos de los controles o indicadores existentes en el panel frontal del VI creado; es por eso que estas variables no sirven para intercambiar datos entre VIs. La principal utilidad de estas variables radica en el hecho de que una vez creada la variable local, no importa que proceda de un indicador o de un control, ya que se podr utilizar en un mismo diagrama tanto de entrada como de salida. Las variables locales estn disponibles en el men Structures de la paleta functions:

desplegando el pop-up sobre un indicador o control en el Diagrama de bloques:

Una vez creada la variable local, desplegando el men pop-up sobre ella, aparece:

Change to Read Local o Change to Write Local: Permite escoger entre leer o escribir en el control.

Select item: Visualiza una lista con el nombre de todos los controles existentes en el panel frontal, de la que se escoge el control al cual se quiere que haga referencia la variable. Es por esto que para poder crear la variable local ser imprescindible que el control tenga asignado un nombre de identificacin. Una vez creada la variable local, si en algn momento se cambia el nombre del control origen, el nombre ser actualizado. Show Label: Muestra una etiqueta con el nombre del VI al que pertenece la variable local. Description: Permite aadir comentarios. Replace: Sustituye la variable local por cualquier otra funcin.

VARIABLES GLOBALES
Las variables globales son un tipo especial de VI, que nicamente dispone de panel frontal, en el cual se define el tipo de dato de la variable y el nombre de identificacin imprescindible para poderse referir a ella. Al escoger la funcin Global del men Structures de la paleta functions:

Se crea un nuevo terminal en el diagrama, este terminal corresponde a un VI que inicialmente no contiene ninguna variable. Para poderlas aadir se hace doble clic en el terminal y se abrir el panel frontal. Una vez abierto, las variables se definen igual que cualquier control o indicador de un VI normal. Se puede crear un VI para cada variable o definirlas todas en el mismo, que es la opcin ms indicada para cualquier aplicacin. Cuando se termine de colocar todas las variables se graba el VI y luego se cierra. Si una vez cerrado, se quieren aadir nuevas variables , bastar con volverlo a abrir e introducir los cambios necesarios.

Al desplegar el men pop-up de la variable local aparece:

EJEMPLO. La banda se desplaza hasta el final (100) con una velocidad de 10 pasos cada medio segundo, al llegar al final la banda se devuelve hasta el principio (0) con la misma velocidad. (Uso de la estructura Sequence)

Frame 0

Frame 1 EJEMPLO. La banda se desplaza hasta el final (100) con la velocidad seleccionada por el usuario (Alta = 10, Baja = 2) pasos cada medio segundo y luego se devuelve hasta el principio (0) con la misma velocidad seleccionada. (Uso de la estructura Case booleano)

Frame 0, case true

Frame 0, case false

Frame 1, case true

Frame 1, case false EJEMPLO. La banda se desplaza hasta el final (100) con la velocidad seleccionada por el usuario (Alta = 15, Media = 10, Baja = 2) pasos cada medio segundo y luego se devuelve hasta el principio (0) con la misma velocidad seleccionada. (Uso de la estructura Case numerico)

Frame 0, case 0

Frame 0, case 1

Frame 0, case 2

Frame 1, case 0

Frame 1, case 1

Frame 1, case 2 ESTRUCTURA ITERATIVA FOR LOOP


Se utiliza cuando se requiere que una operacin se repita un nmero determinado de veces. Su equivalente en lenguaje convencional es:

For i = 0 to N-1 ejecuta subdiagrama Al colocar un For Loop en la ventana de Diagrama se puede observar que tiene asociados dos terminales: Terminal contador: Contiene el nmero de veces que se ejecutar el subdiagrama creado en el interior de la estructura. El valor del contador se fija externamente. Terminal de iteracin: Indica el nmero de veces que se ha ejecutado la estructura: Cero durante la primera iteracin, uno durante la segunda y as hasta N-1.

Ambos terminales son accesibles desde el interior de la estructura, es decir, sus valores podrn formar parte del subdiagrama pero en ningn caso se podrn modificar.

EJEMPLO. La banda se desplaza hasta el final (100) con la velocidad seleccionada por el usuario (Alta = 15, Media = 10, Baja = 2) pasos cada medio segundo y luego se devuelve hasta el principio (0) con la misma velocidad seleccionada. El numero de veces que realiza la secuencia es programable por Nro de Iteraciones (Uso de la estructura For Loop). En este ejemplo solo mostramos un subdiagrama de Lab - View ya que el programa es el mismo ejemplo anterior aadiendole la estructura For Loop.

TEMPORIZADORES:
En LabVIEW existen diferentes formas de programar una temporizacin, sin embargo, cuando se est controlando un proceso se requiere un temporizador que no pare el proceso, es decir, que el temporizador pueda estar activado mientras el proceso est funcionando.

La idea bsica es utilizar la opcin de temporizador que permita consultar el tiempo actual: (get time & date in seconds), llevarlo a una variable:

, luego consultar nuevamente el tiempo actual y hacer una

diferencia entre el ltimo tiempo consultado y el anterior, la diferencia se compara con el valor de temporizacin que se requiere:

NOTA: Ver el siguiente ejemplo para mayor claridad Los temporizadores se encuentran en el men Time & Dialog de la paleta Functions:

EJEMPLO ARCHIVO Tempor.VI ASPECTO PANEL DE CONTROL

ASPECTO DIAGRAMA DE BLOQUES:

FRAME 0

FRAME 1

PRCTICA 8 MAQUINAS DE ESTADO FINITO PARTE I MAQUINAS DE ESTADO FINITO (MEF)


Es una representacin de transiciones de estados, la cual acepta smbolos de entrada, genera smbolos de salida y cambia su estado interno segn un plan predefinido.

Se define como estado estable al momento donde la actividad est plenamente definida y es constante. Se representa como un crculo o una elipse especificando la actividad a realizar. Seal de transicin es la encargada de indicar el inicio o el fin de una actividad. Se representa como una lnea (flecha) indicando el nombre de la seal y la transicin de un estado inicial a un estado final. La seal de transicin puede ser el resultado lgico de una expresin lgica, matemtica, en la cual el resultado de la decisin permite la realizacin de la transicin, en este caso se trata de mquinas de estados finitos extendidas. Seal de salida: corresponde al comportamiento de las salidas en el estado donde se encuentra. Puede ser una salida de nivel constante en el tiempo, o alguna accin derivativa en el tiempo. Seal de salida transitoria: en el momento que se produce una seal de transicin de estado y mientras ocurre la transicin, se puede generar una seal de salida transitoria, la cual puede tener diferentes aplicaciones. PASOS PARA IMPLEMENTAR UNA MEF CON LabVIEW 1. Seleccionar y llamar cada uno de los controles e indicadores en el panel de control. 2. Llamar un ciclo WHILE cuya condicin debe ser el encendido de la mquina (power) 3. Por cada MEF se debe tener una estructura case con el nmero de opciones igual al nmero de estados de la MEF. 4. Por cada MEF se debe tener un SHIFT REGISTER, en el ciclo WHILE. 5. Dependiendo de cuntas opciones haya para pasar de estado a estado, se debe tener internamente un nmero igual de CASES. 6. Iniciar las MEF con estado cero (SHIFT REGISTER izquierdo) EJEMPLO. Se tiene una caldera la cual tiene un tanque que se le va a controlar su nivel entre un valor mnimo y otro mximo abriendo o cerrando una vlvula para el suministro de lquidos. Adems se va a controlar la temperatura interna entre un nivel mnimo y un nivel mximo por medio de una resistencia elctrica, que se conecta para calentar y se desconecta

cuando la temperatura mxima ha sido alcanzada. La caldera tiene en su control un pulsador de encendido (start) y otro de apagado (stop).
V
Nmax.

start

Tmax.

stop

Tmin power_on Nmin.

El diagrama de flujo de datos para este enunciado es


Nmin

Nmax

Control de nivel Valvula

Start

Stop

Tmin

Control de Temperatura

Resistencia

Tmax

MAQUINA DE ESTADO FINITO CALDERA

Control de nivel
Start=on Nmin=on Nmax=on

1 Apagar V=0
Stop=on

2 Prellenar V=1
Nmin=off Stop=on Stop=on

3 Llenar V=1
Nmin=off

4 Vaciar V=0

Control de temperatura
Start =on Nmin=on Tmax=on

1 Apagar R=0
Stop=on

2 Desconectar R=0
Nmin=off Stop=on

3 Calentar R=1
Tmin=off Stop=on

4 Enfriar R=0

DIAGRAMA N.S.
C.I. Cniv=0, Ctem= 0 Lectura: start, stop, Nmin, Nmax, Tmin, Tmax

Control de Nivel Cniv


0 V=0 Start ON Cniv = 1 OFF ON Cniv = 2 Stop ON Cniv = 0 ON Cniv = 0 OFF ON 1 V=1 Nmin 2 3 V=1 V=0 Nmax Nmin OFF ON OFF ON OFF Cniv = 3 Nmin OFF ON Cniv = Cniv = 1 0 Stop OFF Cniv = 2 Stop OFF

Control de Temp. Ctemp


0 R=0 Start ON
Ctemp = 1

1 R=0 Nmin OFF ON


Ctemp = 2

2 R=1 Tmax OFF ON


Ctemp = 3

3 R=0 Tmin OFF ON OFF


Ctemp = 2

Stop ON
Ctemp = 0

Nmin OFF ON OFF ON


Ctemp = 1

Stop OFF
Ctemp = 0

Stop ON OFF

Ctemp = 0

Salidas: V, R Mientras Power_ On

El programa en Lab View en forma general quedaria de la siguiente manera:

Como se puede observar se tiene una estructura While Loop y dentro de ella se encuentra dos CASE numericos con el numeros de cases igual al numero de estados de la MEF Ademas por cada MEF se debe tener un Shift Register. Es importante poner un indicador digital en cada maquina que me indique en todo momento en cual estado de la MEF se encuentra o cual esta ejecutando, teniendo este indicador se pueden encontrar mucho ms facil los errores en la programacin o en el diseo de la MEF.

PROGRAMA EN LAB - VIEW cald2.VI ASPECTO PANEL DE CONTROL

ASPECTO DIAGRAMA DE BLOQUES MEF 1 (Control de nivel)


CASE PRINCIPAL : 0 CASE SECUNDARIO: TRUE

CASE PRINCIPAL : 0 CASE SECUNDARIO: FALSE

CASE PRINCIPAL: 1 CASE SECUNDARIO UNO: TRUE CASE SECUNDARIO DOS: FALSE

CASE PRINCIPAL: 1 CASE SECUNDARIO UNO: FALSE CASE SECUNDARIO DOS: TRUE

CASE PRINCIPAL: 2 CASE SECUNDARIO UNO: TRUE CASE SECUNDARIO DOS: TRUE CASE SECUNDARIO TRES: FALSE

CASE PRINCIPAL: 2 CASE SECUNDARIO UNO: FALSE CASE SECUNDARIO DOS: FALSE CASE SECUNDARIO TRES: TRUE

CASE PRINCIPAL: 3 CASE SECUNDARIO UNO: TRUE CASE SECUNDARIO DOS: FALSE

CASE PRINCIPAL: 3 CASE SECUNDARIO UNO: FALSE CASE SECUNDARIO DOS: TRUE

MEF 2 (Control de temperatura)


CASE PRINCIPAL: 0 CASE SECUNDARIO: TRUE

CASE PRINCIPAL: 0 CASE SECUNDARIO: FALSE

CASE PRINCIPAL: 1 CASE SECUNDARIO UNO: TRUE CASE SECUNDARIO DOS: FALSE

CASE PRINCIPAL: 1 CASE SECUNDARIO UNO: FALSE CASE SECUNDARIO DOS: TRUE

CASE PRINCIPAL: 2 CASE SECUNDARIO UNO: FALSE CASE SECUNDARIO DOS: TRUE CASE SECUNDARIO TRES: TRUE

CASE PRINCIPAL: 2 CASE SECUNDARIO UNO: TRUE CASE SECUNDARIO DOS: FALSE CASE SECUNDARIO TRES: FALSE

CASE PRINCIPAL: 3 CASE SECUNDARIO UNO: TRUE CASE SECUNDARIO DOS: TRUE

CASE PRINCIPAL: 3 CASE SECUNDARIO UNO: FALSE CASE SECUNDARIO DOS: FALSE

Edicin de controles en Lab - View Editar un control en Lab - View es cambiar la representacin para el usuario, tanto en el estado falso como verdadero. En el desarrollo de esta gua se utilizara un ejemplo para entender mejor los pasos que se deben seguir. Primer paso: Determinar el tipo de grfico a dibujar y que reemplazar el estado falso y verdadero del control. Lab - View acepta las siguientes extensiones: Bitmap ( *.bmp) Format JPG ( *.jpg, *.jpeg) Metafile ( *.wmf) Se debe tratar que las figuras que representaran el estado falso y verdadero del control queden del mismo tamao.

Estado "TRUE"

Estado "FALSE "

Segundo paso: En Lab - View, en el panel de control elegir un control booleano.

Tercer paso: Seleccionar el control y en el men EDIT elegir la opcin Edit Control

Automticamente se abre la ventana de edicin.

Cuarto paso: Seleccionamos la figura correspondiente al estado "FALSE" y la copiamos en el portapapeles de windows (Seleccionar y copiar), luego en la ventana de edicin de controles, me ubico sobre el control que estamos editando, oprimo click derecho y elegimos la opcin import picture: False ( Recuerde que los controles booleanos estn siempre en falso)

Automticamente el control es reemplazado por la figura correspondiente al estado "FALSE"

Seguimos el mismo procedimiento para reemplazar el estado "TRUE" es decir, Seleccionamos la figura correspondiente al estado "TRUE" y la copiamos en el portapapeles de windows (Seleccionar y copiar), luego en la ventana de edicin de controles, me ubico sobre el control que estamos editando, oprimo click derecho y elegimos la opcin import picture: True

El control ha quedado editado. Para cambiar la posicin del control, se debe seleccionar desde la paleta de herramientas el botn "Operate Value

Por ultimo para salvar el control editado, se debe cerrar la ventana de edicin y Lab -View nos pregunta si queremos salvar los cambios al control, se elige la opcin "YES" y se le asigna un nombre que debe tener como extensin . CTL, el control es salvado y Lab - View nuevamente nos pregunta si queremos reemplazar el control original en el panel de control, si elegimos la opcin "YES" nos cambia automticamente el control que llamamos al principio de la edicin por el control editado. Cuando necesitemos llamar un control que se haya editado antes, se debe seleccionar en el panel de control, de la paleta de controles, la opcin para seleccionar un control, cuando se presiona este icono un cuadro de dialogo aparece, preguntando por la localizacin del archivo.

You might also like