labview mecatronica para diseñadores

42
INTRODUCCIÓN AL LabVIEW PARTE I LabVIEW es un software de programación gráfico, 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 menús de la parte superior del programa LabVIEW contiene diversos menús desplegables: Estos menús contienen elementos comunes a otras aplicaciones Windows, como OPEN, SAVE o PASTE además de muchos otros particulares de LabVIEW. La siguiente figura muestra la barra de menús para la versión 4.1, que es igual para las ventanas PANEL y DIAGRAM. FILE Sus opciones se usan básicamente 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 impresión cuando acaba la ejecución. PROJECT

Upload: enzologic

Post on 05-Jul-2015

1.726 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: labview mecatronica para diseñadores

INTRODUCCIÓN AL LabVIEW PARTE I

LabVIEW es un software de programación gráfico, que posee dos ventanas: El panel de control y el panel dediagramas.

En el panel de control se ubican todos los controles e indicadores que se requiera; y en el panel de diagramasse interconectan los terminales de estos.

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

MENUS DEL LabVIEW

La barra de menús de la parte superior del programa LabVIEW contiene diversos menús desplegables:

Estos menús contienen elementos comunes a otras aplicaciones Windows,como OPEN, SAVE o PASTE además de muchos otros particulares deLabVIEW. La siguiente figura muestra la barra de menús para la versión4.1, que es igual para las ventanas PANEL y DIAGRAM.

FILE

Sus opciones se usan básicamente para abrir, cerrar, guardar e imprimir VIs.

EDITSe usa principalmente para organizar el panel frontal y el diagrama de bloques y establecer las preferencias oconfiguraciones del software.

OPERATESus comandos sirven para ejecutar el VI. Presenta opciones como laimpresión cuando acaba la ejecución.

PROJECT

Page 2: labview mecatronica para diseñadores

Presenta los niveles de jerarquía, los SubVIs que lo integran, los que estánsin abrir, busca VIs, etc.

WINDOWSSe utiliza básicamente para mostrar (SHOW) ventanas, como pueden ser lasde información, historial, controles/funciones, herramientas, portapapeles,etc.

HELPPresenta ayuda sobre los diferentes iconos y otros aspectos de LabVIEW.

El menú de LabVIEW que con más frecuencia se utiliza es el menú pop-up deobjetos, al cual se accede situando el cursor sobre el objeto en mención ypulsando el botón derecho del Mouse. Si la pulsación se hace sobre unespacio vacío, el menú que se obtendrá vendrá en función de la herramientaseleccionada.

HERRAMIENTAS DE LabVIEW

CONTROLES DE EDICION

Se obtienen al pulsar Shift+clic derecho del Mouse sobre un espacio vacío omediante la opción SHOW TOOLS PALETTE del menú WINDOWS. Se fijahaciendo clic con el botón izquierdo del Mouse sobre el pin de la barrasuperior de la paleta desplegada.

La herramienta se selecciona haciendo un clic sobre el icono de laherramienta requerida.

OPERATE VALUE. Maneja los controles del panel frontal.

POSITION/SIZE/SELECT. Selecciona, mueve y cambia el tamaño de losobjetos.

EDIT TEXT. Crea y edita textos.

CONNECT WIRE. Enlaza objetos del diagrama de bloques y asigna a losterminales del conector del VI los controles e indicadores del panel frontal.

Page 3: labview mecatronica para diseñadores

OBJECT POP-UP. Despliega el menú emergente asociado al objeto.Tiene el mismo efecto que si se pulsara el botón derecho del Mouse sobre elobjeto.

SCROLL WINDOW. Desplaza la pantalla en la dirección que se deseepara ver posibles zonas ocultas.

SET/CLEAR BREAKPOINT. Permite poner tantos puntos de rupturacomo se desee a lo largo de un diagrama de bloques. Cuando durante laejecución se llegue a uno de ellos, LabVIEW conmuta automáticamente aldiagrama de bloques. Se usa esta misma herramienta para quitar estospuntos.

PROBE DATA. Sirve para comprobar los valores intermedios dentro deun VI que es ejecutable pero que genera resultados sospechosos oinesperados.

GET COLOR. Permite saber de manera específica qué color tiene unobjeto, texto u otro elemento.

SET COLOR. Colorea diversos objetos y fondos.

NOTA. Cuando se pasa el cursor sobre una función, un VI o un SubVI(incluyendo el icono del VI abierto, situado en la parte superior derecha de laventana del VI), la ventana Help muestra su icono con los cables del tipo dedato apropiado para cada terminal. Las variables de entrada quedan a laizquierda y las de salida a la derecha. Los nombres de las terminalesaparecen junto a los cables. Si el VI tiene asociada una descripción, esta sevisualizará. Estas descripciones se introducen mediante el diálogo GETINFO (obtener información) del VI.

Al colocar la herramienta CONNECT WIRE sobre un cable, la ventana helpvisualiza el tipo de dato transportado por ese cable. Asimismo cuando semueve la herramienta CONNECT WIRE sobre el icono del VI, el terminalcorrespondiente al conector se ilumina en la ventana Help. Al situarla sobreuna función, de su icono sale un pequeño trozo de cada terminal, quedandoreflejado en una etiqueta el nombre del terminal al que se le va a realizar laconexión. Todo asegura una unión prácticamente sin posibilidad de errores.

La opción HELP ONLINE del menú pop-up de un objeto, describe el tipo devariables y conexiones que se asocian a este objeto.

CONTROLES DE EJECUCION

Page 4: labview mecatronica para diseñadores

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

EJECUCION NORMAL. Ejecuta el programa en forma normal (una solavez si el programa no cuenta con secuencias repetitivas). Cuando el botónpresenta esta apariencia , LabVIEW indica que el programa no se puedeejecutar por alguna razón (mala conexión, ausencia de variables,contradicción, etc.) Al hacer clic sobre este botón, LabVIEW muestra uncuadro de diálogo: Lista de errores que muestra los errores que contiene el VIy permite la opción de ir hacia ellos haciendo clic sobre cada uno y luego enFind.

EJECUCION CONTINUA. Ejecuta el programa de una manera repetitiva(siempre y cuando lo permita)

DETENER. Botón que sustituye a cuando se está ejecutando un VI.Interrumpe la ejecución de un VI en cualquier momento.

PAUSA. Realiza una pausa momentánea, tan larga como se desee, en laejecución de un VI. Se reinicia la ejecución del VI volviendo a hacer clic en elbotón .

EJECUCION RESALTADA. Que cambia al hacer clic sobre él. Paravolver a ejecución normal basta con volver a hacer clic sobre este botón.Permite observar cómo se realiza el flujo de datos a través de los nodos deldiagrama de bloques. Este modo de ejecución hace más lenta la ejecucióndel VI. A medida que los datos pasan de un nodo a otro su movimiento seindica 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 ejecución quepermite mostrar el desarrollo del programa operación por operaciónquedando en estado de pausa luego de cada paso. Su función se diferencia

Page 5: labview mecatronica para diseñadores

únicamente cuando en el programa existe una estructura (como While, ForLoop, Case, etc). Es así como permite pasar al interior de la estructura yejecutar paso por paso las operaciones que se encuentran adentro. El botón

permite saltar el objeto, ejecutándolo en forma normal (muy convenienteen el caso de que se tenga una estructura repetitiva con muchasrepeticiones). Para volver al modo de ejecución normal se pulsa el botón

.

EJEMPLO. Realizar un programa: Ejerc1.VI que represente un circuitoescalera, con dos controles (suiches) y un indicador (bombillo). NOTA: Elprograma tal como está debe ser ejecutado mediante ejecución continua yaque no cuenta con ninguna estructura repetitiva.

Apariencia final del Panel de control

Apariencia final del Diagrama de bloques

PROCEDIMIENTO

• Por medio de la opción Show Control Panel del menú WINDOWS, sevisualiza la paleta CONTROLS, se seleccionan los suiches (VerticalToggle Swich) del menú Boolean, arrastrándolos con el Mouse hasta ellugar del panel que se desee.

Page 6: labview mecatronica para diseñadores

• Se escriben los títulos suiche1 y suiche2 en los Label que se desplieganal insertar cada uno de ellos. En caso de que no se escribainmediatamente después de insertarlo, se da un clic derecho con elMouse sobre el objeto y se selecciona Show Label, apareciendo uncuadro de texto en el que se puede escribir el label o título descriptivo delcontrol.

Nótese que luego de insertar los controles en el panel de control, se generandos iconos en el diagrama de bloques, así:

Estos se conectarán mediante cables a los demás objetos del programa,como se verá más adelante.

• Por medio de la opción Show Control Panel del menú WINDOWS, sevisualiza la paleta CONTROLS, se selecciona el indicador (Round LED)del menú Boolean, arrastrándolos con el Mouse hasta el lugar del panelque se desee.

Page 7: labview mecatronica para diseñadores

• 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 decontrol pueden ser cambiados. mediante la herramienta Set Color (colorear)

de la paleta tools. Ubicando el pincel y haciendo clic derecho con elMouse sobre el objeto al que se desee cambiarle el color. Se elige el colorfinal de la paleta de colores que se despliega.

• Por medio de la opción Show functions Panel del menú WINDOWS (en elDiagrama de Bloques) se visualiza la paleta FUNCTIONS, se seleccionanlas funciones lógicas del menú Boolean, arrastrándolas con el Mousehasta el lugar del panel que se desee.

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

Page 8: labview mecatronica para diseñadores

• Mediante la herramienta CONNECT WIRE (Conexión de cables), seconectan los indicadores, funciones lógicas y controles entre sí.

Nótese que al pasar el cursor (rollo de cable) sobre las funciones, seresaltan los terminales a conectar; lo mismo sucede con los indicadores yconectores. Esto hace prácticamente imposible el cometer errores alconectar.

La conexión 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 otrodestino. Se puede cambiar de dirección haciendo clic en espacios vacíoscuantas 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 repetitivaque permita la ejecución cíclica del programa, éste deberá ejecutarsemediante EJECUCION CONTINUA para que sea comprendido sufuncionamiento plenamente.

• Para cambiar la posición de los suiches, antes o durante la ejecución delprograma, se debió seleccionar la herramienta OPERATE VALUE (Valoroperativo) de la paleta Tools.

Así pues, el suiche se cambiará de posición haciendo un simple clic sobreél.

Page 9: labview mecatronica para diseñadores

El bombillo se iluminará una vez la función arroje un resultado verdadero “1”y se apagará cuando reciba una señal “0”.

Page 10: labview mecatronica para diseñadores

PRÁCTICA 7INTRODUCCION AL LabVIEW PARTE II

ESTRUCTURAS REPETITIVAS

A la hora de programar muchas veces es necesario ejecutar un mismo conjunto de sentencias un númerodeterminado de veces, o que éstas se repitan mientras se cumplan ciertas condiciones. También puede ocurrirque se quiera ejecutar una u otra sentencia dependiendo de las condiciones fijadas o simplemente forzar queunas se ejecuten siempre antes que otras.

Para ello LabVIEW dispone de cuatro estructuras fácilmente diferenciablespor su apariencia y disponibles en la opción STRUCTURES del menúFUNCTIONS en la ventana Diagrama.

ESTRUCTURA ITERATIVA WHILE LOOP

Se utiliza While Loop cuando se requiere que una operación se repita mientras una determinada condición seacierta. Su equivalente en lenguaje convencional es:

Do ejecutar subdiagramaWhile condición is TRUE

(Aunque esta estructura es más similar al comando Repeat-Until, ya que serepite como mínimo una vez, independientemente del estado de lacondición). Al igual que For Loop contiene dos terminales:

Terminal condicional

Al él se conectará la condición que hará que se ejecute el subdiagrama.LabVIEW comprobará el estado de este terminal al final de cada iteración, sisu valor es TRUE (verdadero) continuará, pero por el contrario si su valor esFALSE (falso) detendrá la ejecución.

Terminal de iteración

Page 11: labview mecatronica para diseñadores

Indica el número de veces que se ha ejecutado el bucle y que, como mínimo,siempre será una (i=0).

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

• Show Label: Oculta o visualiza la etiqueta de identificación del Loop y, sino existe, permite ponerla.

• Description: Permite añadir comentarios• Replace: Cambia el For Loop o el While Loop por cualquier otra función de

la paleta Functions.• Remove Loop: Borra la estructura While o For pero sin el eliminar el

subdiagrama de su interior.• Add Shift Register: Añade los registros de desplazamiento.

EJEMPLO. La banda se ubica en la posición de la suma de los doscontroles digitales hasta que se oprima STOP. (Uso de la estructura while)

REGISTROS DE DESPLAZAMIENTO

Page 12: labview mecatronica para diseñadores

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

Inicialmente Shift Register tiene un par de terminales colocados a amboslados del Loop; el terminal de la derecha almacena el valor final de laiteración hasta que una nueva hace que este valor se desplace al terminal dela izquierda, quedando en el de la derecha el nuevo valor. Un mismo registrode desplazamiento puede tener más de un terminal en el lado izquierdo, paraañadirlo, se escoge la opción Add Element (añadir elemento) del menú Pop-up. Cuanto más terminales se tenga en el lado izquierdo, más valores deiteraciones anteriores podremos almacenar.

El menú Pop-up tiene otros dos comandos:

• Remove element: Borra un terminal del lado izquierdo siempre y cuando elregistro de desplazamiento tenga asociado más de uno.

• Remove all: Borra todo el registro de desplazamiento, tanto las terminalesde la izquierda como el de la derecha.

Un mismo Loop puede tener varios registros de desplazamiento, siendoconveniente inicializarlos, para que los terminales de la izquierda tengan elvalor deseado cuando se produzca la primera iteración. Shift register puedetrabajar con cualquier tipo de datos siempre y cuando los datos que seconecten a cada terminal sean del mismo tipo.

Al finalizar la ejecución de todas las iteraciones el último valor quedará en el terminal de la derecha;uniéndolo 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 automática desde elinterior de la estructura al exterior. Cuando un cable atraviesa los límites delLoop, aparece en el borde un nuevo terminal llamado túnel que hace deconexión entre el interior y el exterior, de forma que los datos fluyen a travésde él después de cada iteración del Loop, pudiendo guardar de esta manerano sólo el último valor de todas las iteraciones sino también los valoresintermedios. A esta posibilidad que tienen tanto el For como el While deacumular arrays en sus límites automáticamente se le llama auto-indexing oautoindexado.

LabVIEW habilita por defecto el auto-indexing en el For Loop ya que es másfrecuente utilizar esta estructura para crear Arrays que el While Loop, en elcual esta opción está deshabilitada por defecto y cuya utilización podríaprovocar problemas de memoria debido a que no se sabe cuántas veces seva a ejecutar. No obstante, haciendo pop-up en el túnel se puede habilitar odeshabilitar esta opción.

Page 13: labview mecatronica para diseñadores

EJEMPLO. La banda se desplaza hasta llegar al final (100) con unavelocidad 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 múltiples subdiagramas, de loscuales solamente uno es visible a la vez. En la parte superior de cada estructura existe una pequeña ventanaque muestra el identificador del subdiagrama que se está mostrando. A ambos lados de esta ventana existendos botones que decrementan o incrementan el identificador de forma que se pueda ver el resto desubdiagramas.

ESTRUCTURA CASE

Se utiliza la estructura case en aquellas ocasiones en las que el número de alternativas posibles sean dos omás. Según qué valor tome el selector dentro de los n valores posibles, se ejecutará en correspondencia unode los n subdiagramas.

La estructura case consta de un terminal llamado selector y un conjunto de subdiagramas, cada uno de loscuales está dentro de un case o suceso identificado por un etiquetador del mismo tipo que el selector, este serábooleano o numérico. Si se conecta un valor booleano al selector la estructura tendrá dos case: False y True.Pero si se conecta un valor numérico a la estructura podrá tener hasta 214 case.

En este caso, la estructura case engloba dos sentencias diferentes de otroslenguajes convencionales:

1. If condición true then ejecutar case trueelse ejecutar case false

2. Case selector of1: ejecutar case 1;

… n: ejecutar case nend

Case no cuenta con los registros de desplazamiento de las estructuras iterativas, pero sí se pueden crear lostúneles para sacar o introducir datos. Si un case o suceso proporciona un dato de salida a una determinadavariable, será necesario que todos lo demás también lo hagan, si no ocurre de esta manera será imposibleejecutar el programa.

Page 14: labview mecatronica para diseñadores

ESTRUCTURA SEQUENCE

Esta estructura no tiene su homóloga en los diferentes lenguajes convencionales, ya que en éstos lassentencias se ejecutan en el orden de aparición pero, en LabVIEW una función se ejecuta cuando tienedisponibles todos los datos de entrada. Se produce de esta manera una dependencia de datos que hace que lafunción que reciba un dato directa o indirectamente de otra, se ejecute siempre después, creándose un flujo deprograma.

Pero existen ocasiones en que esta dependencia de datos no existe y es necesario que un subdiagrama antesque otro, es en estos casos cuando se requiere el uso de la estructura sequence para forzar un determinadoflujo de datos. Cada subdiagrama estará contenido en un frame o marco y estos se ejecutarán en orden deaparición: 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 demás no tendrán por quéhacerlo. Pero se debe tener en cuenta que el dato estará disponible solamente cuando se ejecute el últimoframe y no cuando se ejecute el frame que transfiere el dato.

Debido a la similitud de los menús pop-up de las estructuras case y sequence, se estudiarán en forma conjuntaindicando en cada caso las posibles diferencias que puedan existir:

Case con selector Booleano Case con selector numérico Sequence

Page 15: labview mecatronica para diseñadores

• Show Label: Oculta o visualiza la etiqueta de identificación de la estructuray si no existe, permite ponerla.

• Description: Permite añadir comentarios.• Replace: Cambia la estructura case o sequence por cualquier otra función

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é visualizandoen el momento de la ejecución de este comando.

• Add Sequence local (añadir secuencia local): Esta opción está solodisponible en el menú de la estructura sequence y se utiliza para pasardatos de un frame a otro. Una pequeña flecha con la punta hacia elexterior de la estructura indica el frame de origen de la secuencia local,mientras que una flecha apuntando hacia el interior indica que lasecuencia local contiene un dato de salida. Todos los frames posterioresal que contiene la secuencia local que origina el dato podrán disponer deél, no siendo así para los frames anteriores en los cuales aparecerá uncuadrado vacío que indicará que los datos no están disponibles.

• Show case o show frame: Permite ir directamente al subdiagrama que sequiere visualizar sin tener que pasar por todos los case o frameintermedios que pudiera haber. Al pulsar esta opción, un menúconteniendo todos los identificadores se desplegará y sólo se tendrá queseñalar con el cursor del mouse el que deseamos ver. Si sólo hubiesendos subdiagrams aparecerá directamente el nombre del únicoidentificador que se puede visualizar, como en el caso de case conselector booleano.

• Add case after o add frame after: Este comando inserta un subdiagramavacío inmediatamente después del que se está visualizando.

• Add case before o add frame before: Inserta un subdiagrama vacío justo unnivel por encima del que se está visualizando.

• Duplicate case o duplicate frame: Inserta una copia del subdiagrama visibleinmediatamente después de él.

• Make this case o make this frame: Mueve un subdiagrama a otra posición.• 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 numérica, si no hay una secuencia, no aparece ningún identificador deframe, mientras que si hay más de uno, se indica en cual se está y cuántos hay. Igual pasa con la estructuracase, sólo que en este caso se tendrá como mínimo, dos posibles estados.

VARIABLES GLOBALES Y LOCALES

Las variables son imprescindibles en cualquier tipo de problemas, ya que permiten almacenar la informaciónnecesaria para su resolución.

En el LabVIEW todos los controles introducidos en el panel frontal que generan un terminal en la ventanadiagrama van a ser variables, identificables por el nombre asignado en la etiqueta. Pero puede ocurrir que se

Page 16: labview mecatronica para diseñadores

quiera utilizar el valor de cierta variable en otro subdiagrama o en otro VI o, simplemente, se quiera guardarun resultado intermedio. La forma más sencilla de hacerlo es generando variables locales y/o globalesdependiendo de la aplicación.

VARIABLES LOCALES

En las variables locales las variables se almacenan en algunos de loscontroles o indicadores existentes en el panel frontal del VI creado; es poreso que estas variables no sirven para intercambiar datos entre VI’s. Laprincipal utilidad de estas variables radica en el hecho de que una vezcreada la variable local, no importa que proceda de un indicador o de uncontrol, ya que se podrá utilizar en un mismo diagrama tanto de entradacomo de salida. Las variables locales están disponibles en el menúStructures de la paleta functions:

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

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 oescribir en el control.

Page 17: labview mecatronica para diseñadores

• Select item: Visualiza una lista con el nombre de todos los controlesexistentes en el panel frontal, de la que se escoge el control al cual sequiere que haga referencia la variable. Es por esto que para poder crear lavariable local será imprescindible que el control tenga asignado unnombre de identificación. Una vez creada la variable local, si en algúnmomento se cambia el nombre del control origen, el nombre seráactualizado.

• Show Label: Muestra una etiqueta con el nombre del VI al que pertenece lavariable local.

• Description: Permite añadir comentarios.• Replace: Sustituye la variable local por cualquier otra función.

VARIABLES GLOBALES

Las variables globales son un tipo especial de VI, que únicamente dispone de panel frontal, en el cual sedefine el tipo de dato de la variable y el nombre de identificación imprescindible para poderse referir a ella.Al escoger la función 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 contieneninguna variable. Para poderlas añadir se hace doble clic en el terminal y se abrirá el panel frontal. Una vezabierto, las variables se definen igual que cualquier control o indicador de un VI normal. Se puede crear unVI para cada variable o definirlas todas en el mismo, que es la opción más indicada para cualquier aplicación.Cuando se termine de colocar todas las variables se graba el VI y luego se cierra. Si una vez cerrado, sequieren añadir 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 de10 pasos cada medio segundo, al llegar al final la banda se devuelve hasta elprincipio (0) con la misma velocidad. (Uso de la estructura Sequence)

Page 18: labview mecatronica para diseñadores

Frame 0

Frame 1

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

Page 19: labview mecatronica para diseñadores

Frame 0, case true

Frame 0, case false

Frame 1, case true

Page 20: labview mecatronica para diseñadores

Frame 1, case false

EJEMPLO. La banda se desplaza hasta el final (100) con la velocidadseleccionada por el usuario (Alta = 15, Media = 10, Baja = 2) pasos cadamedio segundo y luego se devuelve hasta el principio (0) con la mismavelocidad seleccionada. (Uso de la estructura Case numerico)

Frame 0, case 0

Page 21: labview mecatronica para diseñadores

Frame 0, case 1

Frame 0, case 2

Frame 1, case 0

Page 22: labview mecatronica para diseñadores

Frame 1, case 1

Frame 1, case 2

ESTRUCTURA ITERATIVA FOR LOOP

Se utiliza cuando se requiere que una operación se repita un número determinado de veces. Su equivalente enlenguaje convencional es:

For i = 0 to N-1ejecuta subdiagrama

Al colocar un For Loop en la ventana de Diagrama se puede observar quetiene asociados dos terminales:

Terminal contador: Contiene el número de veces que se ejecutará elsubdiagrama creado en el interior de la estructura. El valor del contador sefija externamente.

Terminal de iteración: Indica el número de veces que se ha ejecutado laestructura: Cero durante la primera iteración, uno durante la segunda y asíhasta N-1.

Page 23: labview mecatronica para diseñadores

Ambos terminales son accesibles desde el interior de la estructura, es decir, sus valores podrán formar partedel subdiagrama pero en ningún caso se podrán modificar.

EJEMPLO. La banda se desplaza hasta el final (100) con la velocidadseleccionada por el usuario (Alta = 15, Media = 10, Baja = 2) pasos cadamedio segundo y luego se devuelve hasta el principio (0) con la mismavelocidad seleccionada. El numero de veces que realiza la secuencia esprogramable por Nro de Iteraciones(Uso de la estructura For Loop).

En este ejemplo solo mostramos un subdiagrama de Lab - View ya que elprograma es el mismo ejemplo anterior añadiendole la estructura For Loop.

TEMPORIZADORES:

En LabVIEW existen diferentes formas de programar una temporización, sin embargo, cuando se estácontrolando un proceso se requiere un temporizador que no pare el proceso, es decir, que el temporizadorpueda estar activado mientras el proceso está funcionando.La idea básica es utilizar la opción 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

Page 24: labview mecatronica para diseñadores

diferencia entre el último tiempo consultado y el anterior, la diferencia secompara con el valor de temporización que se requiere:

NOTA: Ver el siguiente ejemplo para mayor claridad

Los temporizadores se encuentran en el menú Time & Dialog de la paletaFunctions:

EJEMPLO ARCHIVO Tempor.VI

ASPECTO PANEL DE CONTROL

ASPECTO DIAGRAMA DE BLOQUES:

FRAME 0

Page 25: labview mecatronica para diseñadores

FRAME 1

Page 26: labview mecatronica para diseñadores

PRÁCTICA 8MAQUINAS DE ESTADO FINITO PARTE I

MAQUINAS DE ESTADO FINITO (MEF)

Es una representación de transiciones de estados, la cual acepta símbolos de entrada, genera símbolos desalida y cambia su estado interno según un plan predefinido.

Se define como estado estable al momento donde la actividad estáplenamente definida y es constante. Se representa como un círculo o unaelipse especificando la actividad a realizar.

Señal de transición es la encargada de indicar el inicio o el fin de unaactividad. Se representa como una línea (flecha) indicando el nombre de laseñal y la transición de un estado inicial a un estado final. La señal detransición puede ser el resultado lógico de una expresión lógica,matemática, en la cual el resultado de la decisión permite la realización de latransición, en este caso se trata de máquinas de estados finitos extendidas.

Señal de salida: corresponde al comportamiento de las salidas en el estadodonde se encuentra. Puede ser una salida de nivel constante en el tiempo, oalguna acción derivativa en el tiempo.

Señal de salida transitoria: en el momento que se produce una señal detransición de estado y mientras ocurre la transición, se puede generar unaseñal 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 panelde control.

2. Llamar un ciclo WHILE cuya condición debe ser el encendido de lamáquina (power)

3. Por cada MEF se debe tener una estructura case con el número deopciones igual al número de estados de la MEF.

4. Por cada MEF se debe tener un SHIFT REGISTER, en el ciclo WHILE.5. Dependiendo de cuántas opciones haya para pasar de estado a estado,

se debe tener internamente un número 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 acontrolar su nivel entre un valor mínimo y otro máximo abriendo o cerrandouna válvula para el suministro de líquidos. Además se va a controlar latemperatura interna entre un nivel mínimo y un nivel máximo por medio deuna resistencia eléctrica, que se conecta para calentar y se desconecta

Page 27: labview mecatronica para diseñadores

cuando la temperatura máxima ha sido alcanzada. La caldera tiene en sucontrol un pulsador de encendido (start) y otro de apagado (stop).

V

Nmax.

Nmin.

R

start

stop

power_on

Tmax.

Tmin

El diagrama de flujo de datos para este enunciado es

Nmin

Stop

Nmax

Control deTemperatura

Controlde nivel

Valvula

ResistenciaTmin

Tmax

Start

MAQUINA DE ESTADO FINITO CALDERA

Page 28: labview mecatronica para diseñadores

1 ApagarV=0

2 DesconectarR=0

1 ApagarR=0

2 PrellenarV=1

3 LlenarV=1

4 VaciarV=0

3 CalentarR=1

4 EnfriarR=0

Control de nivel

Control de temperatura

Start=on Nmin=on Nmax=on

Stop=on Nmin=off Nmin=off

Stop=on

Stop=on

Nmin=on

Nmin=offStop=on

Start =on Tmax=on

Stop=onStop=on

Tmin=off

Page 29: labview mecatronica para diseñadores

DIAGRAMA N.S.

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

Control de Nivel Cniv

0 1 2 3V = 0 V = 1 V = 1 V = 0Start Nmin Nmax Nmin

ON OFF ON OFF ON OFF ON OFF

Cniv =1

Cniv =2

Cniv =3

Cniv =2

Stop Nmin StopON OFF ON OFF ON OFF

Cniv =0

Cniv =1

Cniv =0

StopON OFF

Cniv =0

Control de Temp. Ctemp

0 1 2 3R = 0 R = 0 R = 1 R = 0Start Nmin Tmax Tmin

ON OFF ON OFF ON OFF ON OFF

Ctemp =1

Ctemp =2

Ctemp =3

Ctemp =2

Stop Nmin StopON OFF ON OFF ON OFF

Ctemp =0

Ctemp =1

Ctemp =0

StopON OFF

Page 30: labview mecatronica para diseñadores

Ctemp =0

Salidas: V, RMientras Power_ On

Page 31: labview mecatronica para diseñadores

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 ellase encuentra dos CASE numericos con el numeros de “cases” igual alnumero 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 entodo momento en cual estado de la MEF se encuentra o cual estaejecutando, teniendo este indicador se pueden encontrar mucho más facillos errores en la programación o en el diseño de la MEF.

Page 32: labview mecatronica para diseñadores
Page 33: labview mecatronica para diseñadores

PROGRAMA EN LAB - VIEW cald2.VI

ASPECTO PANEL DE CONTROL

ASPECTO DIAGRAMA DE BLOQUES

MEF 1 (Control de nivel)CASE PRINCIPAL : 0CASE SECUNDARIO: TRUE

CASE PRINCIPAL : 0CASE SECUNDARIO: FALSE

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

Page 34: labview mecatronica para diseñadores

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

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

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

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

Page 35: labview mecatronica para diseñadores

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

MEF 2 (Control de temperatura)

CASE PRINCIPAL: 0CASE SECUNDARIO: TRUE

CASE PRINCIPAL: 0CASE SECUNDARIO: FALSE

Page 36: labview mecatronica para diseñadores

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

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

CASE PRINCIPAL: 2CASE SECUNDARIO UNO: FALSECASE SECUNDARIO DOS: TRUECASE SECUNDARIO TRES: TRUE

CASE PRINCIPAL: 2CASE SECUNDARIO UNO: TRUECASE SECUNDARIO DOS: FALSECASE SECUNDARIO TRES: FALSE

Page 37: labview mecatronica para diseñadores

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

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

Page 38: labview mecatronica para diseñadores

Edición de controles en Lab - View

Editar un control en Lab - View es cambiar la representación para el usuario, tanto en el estado falso comoverdadero. En el desarrollo de esta guía se utilizara un ejemplo para entender mejor los pasos que se debenseguir.

Primer paso:

Determinar el tipo de gráfico a dibujar y que reemplazar el estado falso y verdadero del control. Lab - Viewacepta 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 mismotamaño.

Segundo paso:

En Lab - View, en el panel de control elegir un control boo

Estado"TRUE"

Estado"FALSE

leano.

"

Page 39: labview mecatronica para diseñadores

Tercer paso:

Seleccionar el control y en el menú EDIT elegir la opción Edit Control…

Automáticamente se abre la ventana de edición.

Page 40: labview mecatronica para diseñadores

Cuarto paso:

Seleccionamos la figura correspondiente al estado "FALSE" y la copiamosen el portapapeles de windows (Seleccionar y copiar), luego en la ventana deedición de controles, me ubico sobre el control que estamos editando,oprimo click derecho y elegimos la opción import picture: False ( Recuerde quelos controles booleanos están siempre en falso)

Page 41: labview mecatronica para diseñadores

Automáticamente el control es reemplazado por la figura correspondiente alestado "FALSE"

Seguimos el mismo procedimiento para reemplazar el estado "TRUE" esdecir, Seleccionamos la figura correspondiente al estado "TRUE" y lacopiamos en el portapapeles de windows (Seleccionar y copiar), luego en laventana de edición de controles, me ubico sobre el control que estamoseditando, oprimo click derecho y elegimos la opción import picture: True

Page 42: labview mecatronica para diseñadores

El control ha quedado editado.Para cambiar la posición del control, se debe seleccionar desde la paleta deherramientas el botón "Operate Value”

Por ultimo para salvar el control editado, se debe cerrar la ventana deedición y Lab -View nos pregunta si queremos salvar los cambios al control,se elige la opción "YES" y se le asigna un nombre que debe tener comoextensión . CTL,el control es salvado y Lab - View nuevamente nos pregunta si queremosreemplazar el control original en el panel de control, si elegimos la opción"YES" nos cambia automáticamente el control que llamamos al principio dela edición por el control editado.

Cuando necesitemos llamar un control que se haya editado antes, se debeseleccionar en el panel de control, de la paleta de controles, la opción paraseleccionar un control, cuando se presiona este icono un cuadro de dialogoaparece, preguntando por la localización del archivo.