INSTRUMENTACION VIRTUAL Mecatrnica Instrumentacin Virtual TSU Cuatrimestre 2012-I Instructor: Jess M. Tarn Fontes Especialidad: Mecatrnica Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Ciclos de ejecucin y grficas tipo chart CAPITULO 4 Edicin en revisin ENERO 2011 Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica 3 CAPITULO 4 Ciclos de ejecucin y grficas tipo chart Introduccin El conjunto de elementos empleados para controlar el flujo de datos en un VI recibe el nombre de Estructuras (Structures). LabVIEW tiene cuatro tipos de estructuras : el ciclo While, For, la estructura Case y la Sequence. En este capitulo se introducen la dos primeras estructuras, el ciclo While y el For, as como el uso de los registros de desplazamiento y de los indicadores grficos tipo Chart.
Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Al trmino de este captulo se habr aprendido: Como usar el ciclo While. Como desplegar datos en un indicador grfico del tipo Chart. Que es un registro de desplazamiento (SR) y como usarlo Como usar el ciclo For. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica I. Ciclo While El ciclo While ejecuta la parte del diagrama de bloques que se encuentra dentro de la estructura del ciclo. El diagrama de bloques se ejecuta un nmero indicado de veces hasta que cierta condicin se cumple. Para colocar un ciclo While en el diagrama a bloques, primero se selecciona While Loop de la subpaleta Structure en la paleta de funciones. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Posteriormente se emplea el cursor para seleccionar el rea alrededor de la seccin del diagrama de bloques que se desea incluir dentro de la estructura del ciclo While. Al liberar el botn del ratn, un rectngulo, que marca los lmites de la estructura, encierra la parte del diagrama de bloques seleccionado. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica La estructura del ciclo While es completamente modificable en tamao y forma; basta con tomar con el cursor alguna de las esquinas de la estructura para cambiar su forma y tamao. Se pueden agregar elementos adicionales a la estructura del ciclo While, colocando los elementos adicionales dentro de los lmites de la estructura. El VI repite el diagrama de bloques dentro de la estructura del ciclo hasta que la terminal condicional (terminal de entrada), que es una variable boleana, recibe un valor FALSO. El VI checa la terminal condicional al final de cada iteracin; por ello, el ciclo While siempre se ejecutar por lo menos una vez. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Dando clic derecho sobre la terminal condicional, puede cambiarse la condicin del ciclo a Stop if True . En este caso el VI repite el diagrama de bloques dentro de la estructura del ciclo hasta que la terminal condicional recibe un valor VERDADERO. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica La terminal de iteracin es una terminal de salida numrica que contiene el nmero de veces que el ciclo While ha sido ejecutado. El contador inicia en cero, esto es, durante la primera ejecucin del ciclo, la terminal de iteracin contiene un cero, la cual es lgico, ya que el ciclo an no ha sido ejecutado. Es hasta el final del ciclo de ejecucin que el contador de la terminal de iteracin se incrementa en una unidad. Si la terminal condicional no se alambra, el ciclo While slo se ejecutar una vez. La estructura del ciclo While es equivalente al siguiente cdigo de programa. Do Ejecuta el diagrama de bloques dentro de la estructura del ciclo While la condicin es TRUE Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica En el siguiente ejemplo, el ciclo While se ejecuta hasta que la salida del generador de nmeros aleatorios sea igual a cero o la variable boleana Habilitar sea falsa, ya que la salida de la funcin And es verdadera slo si ambas entradas son verdaderas, de otra manera su salida es falsa y finaliza la ejecucin del ciclo. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica El graficador de seales tipo Chart es un indicador numrico especial que muestra grficamente en una ventana en tiempo real, una o ms seales. El graficador puede desplegar trazos simples o mltiples, con formatos (color, forma y estilo) que pueden ser diferentes para cada uno de los trazos. Un ejemplo de trazo mltiple en un graficador de formas de onda se muestra en la siguiente figura: Graficador de formas de onda Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica El modo de actualizacin se puede configurar activando el men emergente del graficador de formas de onda y seleccionando; Data Operations >> Update Mode. Si el VI est en modo de ejecucin, se selecciona directamente Update Mode del men emergente. El graficador de formas de onda tiene tres tipos de actualizacin del trazo: Strip Chart, Scope Chart y Sweep Chart. El modo de Strip Chart tiene un trazo que se va desplazando en forma similar al trazo en rollo de papel de un registrador de seales. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica En los modos de Scope Chart y Sweep Chart el trazo se efecta de manera similar a la de un osciloscopio, esto es, el trazo se realiza en forma peridica de izquierda a derecha de la ventana. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica En el modo Scope Chart, cuando el trazo alcanza el lado derecho de la ventana la grfica se borra, y un nuevo trazo inicia desde el lado izquierdo de la ventana. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica El modo Sweep Chart es muy parecido al modo Scope Chart, con la diferencia de que la grfica no se borra cuando el trazo alcanza el lado derecho de la ventana, en lugar de esto, un nuevo trazo inicia en la lado izquierdo de la ventana reescribiendo el trazo anterior. Una lnea vertical marca el inicio del nuevo trazo conforme va avanzando a travs de la ventana. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Grfica simple Se puede alambrar directamente una salida escalar de cualquier elemento a un graficador de seales tipo Chart. El tipo de datos desplegado en la ventana del graficador de formas de onda se ajustar al tipo de datos de entrada, como se muestra en el siguiente ejemplo. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Grfica mltiple El graficador de formas de onda puede desplegar ms de un trazo. Sin embargo, ya que ste slo tiene una terminal de entrada de datos, para poder pasar varias salidas de datos al graficador, estas se deben agrupar antes usando la funcin Bundle (subpaleta Cluster). En el ejemplo siguiente, la funcin Bundle agrupa las salidas de datos de tres VIs diferentes, tres medidores de temperatura, para mostrarlas en una ventana en el graficador de formas de onda. Note el cambio en el icono del graficador de onda. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Ejercicio 4.1 Objetivo: Utilizar el ciclo While y una grfica para la adquisicin de datos en tiempo real. Construir un VI para la medicin de temperatura y despliegue de esta en una grfica de tipo Chart. Este VI medir la temperatura usando como subVI el termmetro que construy en el capitulo anterior. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica DIAGRAMA A BLOQUES El ciclo While es una estructura de ciclado indefinida. El diagrama dentro del ciclo se ejecutar mientras la condicin especificada sea cierta. En este ejemplo, el ciclo se ejecutar mientras el interruptor se encuentre en ON (Verdadero), cada vez el VI Thermometer tomar y dar una nueva medicin, que ser desplegada en la grfica. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Accin Mecnica de los interruptores Boleanos Ya habr notado que cada vez que ejecuta el VI, debe de poner en posicin de encendido el interruptor y despus oprimir el botn de ejecucin. Con LabVIEW, se puede modificar la accin mecnica de los interruptores. Las opciones de las acciones mecnicas incluyen: Cambiar cuando se presiona, Cambiar cuando se libera, Cambiar hasta que se libere, Cerrar cuando se presiona, Cerrar cuando se libera, y Cerrar hasta que se libere. Por ejemplo, considere el interruptor vertical mostrado abajo. El valor inicial de este interruptor es apagado (Falso). Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica La accin Mecnica Switch When Pressed hace que cambie el valor del control cada vez que oprime el control con la herramienta de operacin. La accin es similar a la de un apagador comn de iluminacin, y no es afectada por que tan seguido es ledo el control por el VI. La accin mecnica de Switch When Released (cambiar cuando se libera) hace que cambie el valor del control slo hasta que es liberado el botn del ratn cuando se oprime el ratn dentro de la frontera grfica del control. Esta accin no es afectada por que tan seguido es ledo el control por el VI. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica La accin mecnica de Switch Until Released (cambiar hasta que se libere) hace que cambie el valor del control cuando oprime el control y retiene el nuevo valor hasta que es liberado el botn del ratn. Al liberar el botn el control se revierte a su valor original. La accin es similar a la de un timbre o botn de pulsado, y no es afectada por que tan seguido es ledo el control por el VI. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica La accin mecnica de Latch When Pressed (cerrar cuando se presiona) hace que cambie el valor del control cuando presiona el control y retiene ese nuevo valor hasta que el VI lo lee de nuevo, y entonces cambia el control a su valor original; esta accin sucede no importando si usted haya o no liberado el botn del ratn. Esta accin es similar a la de un interruptor de circuitos y es til para detener ciclos While o cuando quiere asegurar que el VI ejecute alguna accin cuando se activa el control. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica La accin mecnica de Latch When Released (cerrar cuando se libera) hace que cambie el valor del control slo despus de que libera el botn del ratn. Cuando el VI lee el valor una vez, se revierte el valor del control a su valor anterior. Esta accin garantiza por lo menos un nuevo valor. La accin mecnica de Latch Until Released (cerrar hasta que se libere) hace que cambie el valor del control cuando se oprime sobre el control y retiene su valor hasta que el VI lee el valor de nuevo o hasta que libere el botn del ratn, lo que ocurra al final. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Para dar uso a la accin mecnica de los interruptores, modifique el interruptor vertical del ejercicio 4-1 para que no tenga que encender el interruptor cada vez que ejecuta el VI. Detenga la ejecucin del VI, si es que ste se est ejecutando. Encienda el interruptor vertical. Coloque el cursor sobre el interruptor vertical, y active su men emergente, oprimiendo el botn derecho del ratn. Seleccione Data Operations>> Make Current Value Default de este men. Esto har que la posicin de encendido sea el valor que tenga el interruptor por default. Active de nueva cuenta el men emergente del interruptor y seleccione Mechanical Action >> Latch When Pressed. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Ejecute el VI. Coloque el cursor sobre el interruptor vertical y oprima el botn del ratn para detener la adquisicin. El interruptor se mover a la posicin de apagado y cambiar de nuevo a la posicin inicial de encendido, slo despus de que la terminal de condicin del ciclo While lea el valor falso de la posicin de apagado. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Control del tiempo de ejecucin del ciclo Cuando ejecut el VI, el ciclo While se ejecut tan rpido como fue posible. Tal vez desea tomar datos a ciertos intervalos de tiempo, como por ejemplo, una vez por segundo o por minuto. Puede controlar la ejecucin de un ciclo a un intervalo especfico de tiempo usando Wait Until Next ms Multiple de la subpaleta de Time & Dialog. Esta funcin asegura que ninguna iteracin es hecha en un tiempo menor al especificado en milisegundos. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica La constante numrica (Numeric Constant de la subpaleta Numeric) cableada a la funcin Wait Until Next ms Mltiple especifica una espera de 500 milisegundos. Es por ello que el ciclo es ejecutado cada medio segundo. Modifique el diagrama a bloques del VI, como se muestra abajo, para tomar la medicin de temperatura una vez cada medio segundo. Funcin Wait Until Next ms Multiple de la subpaleta Time & Dialog. En este ejercicio, esta funcin asegura que cada iteracin ocurra cada medio segundo (500 ms). Ejecute el VI, y trate con diferentes valores para la constante numrica. Guarde y cierre el VI. Nmbrelo Temperature Monitor.vi. Fin del ejercicio Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Ejercicio 4.2 Objetivo: Controlar la velocidad de la adquisicin y del despliegue de datos mediante la utilizacin de un control numrico. Construir un VI que genere datos aleatorios y los despliegue en una grfica. Este VI deber tener una perilla de control en el panel frontal para ajustar el tiempo de ejecucin del ciclo de 0 a 2 segundos. El panel tambin deber tener un interruptor para detener la ejecucin del VI, adems no se deber de encender el interruptor cada vez para ejecutar el VI. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica 1. Abra un nuevo VI y construya el Panel Frontal. Oculte la paleta de la grfica y la leyenda utilizando las opciones de Visible tems>>Legend y Visible tems >>Palette. 2. Utilice la funcin de generacin de nmeros aleatorios, Random Number (0-1) de la subpaleta Numeric, para generar los datos. 3. Multiplique la salida de la perilla por 1000 para convertir los segundos a milisegundos. Utilice este valor como la entrada de la funcin Wait until Next ms Multiple (de la subpaleta Time & Dialog). 4. Seleccione el modo de actualizacin Scope del indicador grfico. Active el men emergente de la grfica y seleccione Advanced>> Update Mode>> Scope Chart. 5. Guarde el VI. Nmbrelo Random Signal.vi.
Fin del ejercicio Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Ejercicio 4.3 Objetivo: Pasar datos fuera de un ciclo While a travs de un tnel. Construir un VI que genere nmeros aleatorios hasta que se iguale el nmero especificado en un control numrico. Un indicador numrico mostrar el nmero de iteraciones requeridas para que ocurra la igualacin. PANEL FRONTAL Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica 1. Construya el P.F. anterior. Asegrese de modificar los controles e indicadores como se indica. 2. Seleccin del rango de datos NOTA: El control Nmero a igualar especifica el nmero que usted quiere igualar. El indicador Nmero Actual despliega el nmero aleatorio actual. El indicador # nmero de iteraciones despliega el nmero de iteraciones que fue requerido hasta igualar el nmero. La definicin del rango de datos, Data Range, previene de colocar un valor que no es compatible con el rango o incremento presente. Si el dato no es correcto se tienen las opciones de ignorar el error o forzar los datos dentro del rango. Para especificar un rango de cero a 100 con incrementos de 1: a) Colquese sobre el control digital y active el men emergente, oprimiendo el botn derecho del ratn, seleccione Data Range del men. b) Llene la caja de dilogo como se muestra a continuacin y presione OK. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Modificacin los Dgitos de precisin Si no se establece lo contrario, los controles e indicadores numricos son desplegados en notacin decimal y tienen 2 lugares decimales (por ejemplo, 3.14). Puede utilizar la opcin de Format & Precision (del men emergente del elemento) para cambiar la precisin o para desplegar los controles numricos e indicadores en notacin cientfica, ingenieril o en formato de horas/minutos. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Para cambiar los dgitos de precisin de un indicador numrico: a) Active el men emergente del indicador digital y seleccione Diplay Format. El VI debe de detenerse para accesar el men. b) Teclee 0 para los dgitos de precisin y d un clic sobre OK. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Diagrama a bloques 1. Construya el diagrama a bloques como se muestra en la Figura anterior Funcin de nmeros aleatorios (Random Number (0-1) de la subpaleta Numeric). Esta funcin da como resultado un nmero real aleatorio entre 0 y 1. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Funcin de multiplicacin (Multiply de la subpaleta Numeric). En este ejercicio, esta funcin multiplica el nmero aleatorio por 100. En otras palabras, la funcin entrega un nmero aleatorio entre 0 y 100. Funcin de redondear al ms cercano (Round To Nearest de la subpaleta Numeric). En este ejercicio, esta funcin redondea el nmero real aleatorio al nmero entero ms cercano. Funcin No iguales (Not Equal? de la subpaleta Comparison). En este ejercicio, esta funcin compara el nmero aleatorio con el nmero a igualar y entrega Verdadero, si los nmeros no son iguales; de otra manera entregar Falso. Funcin incrementar (Increment de la subpaleta Numeric). En este ejercicio, esta funcin incrementa la cuenta final del ciclo While en uno. Esto es necesario debido a que la terminal de iteracin comienza en cero. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica El ciclo en este ejercicio se ejecutar hasta que ambos nmeros sean iguales. La funcin Not equal? dar Verdadero siempre que los dos nmeros no coincidan. Cada vez que un ciclo se ejecuta, se incrementa en uno. El valor de la terminal de iteracin pasa hacia fuera del ciclo, a travs del tnel, cuando el ciclo While se haya completado. Este valor se incrementa en uno afuera del ciclo debido a que la cuenta inicia en 0. El cuadro negro que aparece en el borde del ciclo While es llamado un tnel. El flujo de datos hacia dentro o fuera de un ciclo es a travs de los tneles. El flujo hacia fuera del ciclo es despus de que el ciclo ha terminado. Cuando un tnel pasa datos hacia adentro de un ciclo, este slo se puede ejecutar despus de que los datos han arribado al tnel. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica El indicador del nmero de iteraciones es actualizado al final del ciclo debido a que se encuentra afuera del ciclo. Si no se observa claramente como es que el VI actualiza los indicadores, en la ventana del diagrama a bloques, de un clic sobre para habilitar la ejecucin desplegada. Este modo hace que la ejecucin del VI sea ms lenta y que se pueda observar, al mismo tiempo, como es generado cada nmero. 2. Regrese al panel frontal y teclee un nmero en el control Nmero a igualar. Ejecute el VI varias veces. Cambie el valor y ejecute el VI de nuevo. Advierta que el indicador Nmero Actual es actualizado cada iteracin debido a que se encuentra dentro del ciclo. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica 3. Introduzca un nmero que est fuera de rango en el control Nmero a igualar. El rango de estos datos fue fijado entre 0 y 100 con un incremento de 1. Observe que LabVIEW obliga a que el valor est dentro del rango, de forma que si se introduce un nmero que no se obtiene en incrementos de 1 (ej. 1.5), el programa redondea a 2; si se introduce un nmero un valor mayor a 100, automticamente se ajusta al valor ms cercano dentro del rango, es decir, 100. 4. Guarde y cierre el VI. Nmbrelo Auto Match.vi Fin del ejercicio 4-3 Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica III. Registros de Desplazamiento Sirven para transferir datos de un ciclo de ejecucin a otro. Estos estn disponibles para su uso, nicamente en los ciclos While y For. Para crear un registro de desplazamiento, active el men emergente del ciclo, dando clic derecho en el borde derecho o izquierdo de la estructura del ciclo y seleccionando Add Shift Register. El SR contiene un par de terminales, colocadas, directamente opuestas, en ambos lados de la estructura del ciclo. La terminal de la derecha almacena los datos al trmino de una iteracin. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Los datos son transferidos al final de dicha iteracin y aparecen en la terminal de la izquierda al inicio de la siguiente iteracin. Un registro de desplazamiento puede contener cualquier tipo de datos (numrico, booleano, alfanumrico, arreglo de datos, etc.). El registro de desplazamiento se adapta automticamente al tipo de datos del primer objeto alambrado a cualquiera de los dos terminales . Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Los SR se pueden configurar para guardar los datos de varias iteraciones previas de un ciclo For o While. Esta caracterstica es muy til cuando se est promediando, por ejemplo, los puntos de medicin de un proceso. Las terminales adicionales de los registros de desplazamiento, para accesar datos de varias iteraciones previas, se crean activando el men emergente de la terminal izquierda y seleccionando Add Element de este men. Por ejemplo, si se agregan dos elementos adicionales a la terminal de la izquierda, se podr tener acceso a los valores de las tres ltimas iteraciones. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Inicializacin de los Registros de Desplazamiento Para inicializar un SR con un valor especfico, alambre un valor inicial a la terminal izquierda del registro de desplazamiento desde afuera de la estructura del ciclo. Si las terminales no se alambran el valor inicial de los SR durante la primera ejecucin del VI correspondern a un valor predeterminado de acuerdo al tipo de datos del registro. Por ejemplo, si el tipo de datos del SR es booleano, el valor predeterminado es Falso. Similarmente, si el tipo de datos del registro de desplazamiento es numrico, el valor predeterminado ser cero. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica LabVIEW no borra los valores almacenados en los SR, stos permanecen inalterados hasta que no son reescritos o bien removidos directamente de la localidad de memoria correspondiente. Por ejemplo en un VI con SR no inicializados, el valor inicial de stos despus de la primera ejecucin corresponder al ltimo valor almacenado en la ejecucin previa. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica SR No Inicializado SR Inicializado Registro de desplazamiento No Inicializado Registro de desplazamiento Inicializado Nota: 1er. Ejecucin y 2da. Ejecucin se refieren a ejecuciones consecutivas del VI y no a ejecuciones del ciclo While, el cual se ejecuta slo una vez en cada ocasin. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Ejercicio 4.4 Objetivo: Demostrar el uso de los registros de corrimiento para accesar valores de iteraciones previas. El PF tiene cuatro indicadores digitales. El indicador X(i) desplegar el valor actual, que ser recorrido a la terminal de la izquierda al principio de la siguiente iteracin. El indicador X(i-2) desplegar el valor de las dos iteraciones anteriores, y de una manera similar el resto. El cero cableado a la izquierda de las terminales inicializa los elementos del corrimiento a cero. Panel Frontal Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica 1. Habilite la ejecucin desplegada oprimiendo el botn de ejecucin desplegada. 2. Ejecute el VI y observe cuidadosamente las burbujas. Si las burbujas se mueven muy rpido, utilice el botn de pausa y el de paso sobre para realizar una ejecucin por pasos. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Note que en cada iteracin del ciclo While, el VI junta los valores anteriores a travs de las terminales de los registros de la izquierda. Cada iteracin del ciclo suma 5 al dato actual, X(i). Este valor es corrido a la terminal de la izquierda, X(i-1), al comienzo de cada iteracin. Los valores de la terminal izquierda son llevados hacia las terminales. En este ejemplo, el VI retiene slo los ltimos tres valores. Para retener ms valores, agregue ms elementos a la terminal izquierda de los registros de corrimiento. FIN DEL EJERCICIO 4-4 Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Ejercicio 4.5 Objetivo: Usar los registros de corrimiento para realizar un promedio. Modificar el VI de Monitor de Temperatura para promediar las ltimas cinco mediciones de temperatura y desplegar el promedio en una grfica. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica DIAGRAMA A BLOQUES 1. Cree el registro de corrimiento mediante el men desplegable al colocarse en la frontera derecha o izquierda del ciclo While y seleccione Add Shift Register del men desplegable. Agregue un elemento extra al llamar el men desplegable en la terminal izquierda de los registros de corrimiento y seleccionando Add Element del men desplegable. 2. Modifique el diagrama a bloques como se muestra a continuacin.
Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica VI Thermometer (de la subpaleta Select a VI) Esta funcin da como resultado una medida de la temperatura de un sensor. Funcin Compund Arithmetic (de la subpaleta Numeric). En este ejercicio, esta funcin da como resultado la suma de la temperatura actual y las cuatro lecturas anteriores. Coloque la herramienta de posicionamiento en la esquina de la funcin hasta que el cursor cambie. De un clic sobre la esquina y jale hasta dejar la funcin slo para cinco entradas. Funcin Divide (de la subpaleta Numeric). En este ejercicio, esta funcin da como resultado el promedio de las tres lecturas de temperaturas anteriores. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Durante cada iteracin del ciclo While, el VI Thermometer toma una medicin de la temperatura. El VI suma este valor a los ltimas cuatro mediciones almacenadas en las terminales de la izquierda del registro de corrimiento. El VI divide el resultado entre 5 para encontrar el promedio de las cinco mediciones, y despliega el promedio en la grfica. Note que el VI inicializa los registros de corrimiento con la medicin de temperatura. Ejecute el VI. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Grfica de seales mltiples. Las grficas pueden desplegar simultneamente dos o ms seales. Usted debe agrupar los datos en caso de ser entradas escalares mltiples. 3. Modifique el diagrama a bloques como se muestra arriba. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica La funcin Bundle de la subpaleta Cluster. En este ejercicio, esta funcin ata o agrupa el promedio de las temperaturas y la temperatura actual para ser desplegadas en la grfica. El nodo de agrupacin aparece como cuando lo coloca en la ventana del diagrama de bloques. Puede agregar entradas adicionales por medio de la herramienta de posicionamiento. 4. Ejecute el VI. El VI deber desplegar dos grficos en la pantalla. Los grficos estn traslapados. Esto es, que las dos grficas tiene la misma escala vertical. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Personalizar el formato de las grficas Usted puede darle un formato personalizado a las grficas para satisfacer sus requerimientos de despliegue de datos o para que despliegue ms informacin. Las caractersticas disponibles para las grficas incluyen: una leyenda, una paleta, un indicador digital, una barra de desplazamiento y un buffer. De inicio, las grficas tienen sus paletas y leyendas mostradas cuando son colocadas por primera vez en un panel frontal. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica En la grfica, el indicador digital se encuentra deshabilitado inicialmente. Note que existe un indicador individual para cada dato de la grfica. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica 5. Si las barras de desplazamiento se encuentran presentes ocltelas por medio del men emergente, que es activado al oprimir el botn derecho del ratn sobre la grfica. Seleccione Visible tems >> Scroll bar. 6. De un formato personal al eje Y. a) Utilice la herramienta de etiquetado sobre 20.0 en la escala del eje Y. Teclee 24.0 y oprima <enter>. b) Otra vez utilizando la herramienta de etiquetado, de un clic sobe el segundo nmero contando a partir del extremo inferior del eje Y. Cambie este nmero a 26 o cualquier otro nmero diferente al que aparece actualmente. Este nmero determina el espaciamiento numrico de las divisiones del eje Y. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Por ejemplo, si el nmero de arriba de 24.0 es 25.0, indica que el eje Y tiene un espaciamiento de 1.0, y al cambiar el 25 a 26 redefinir la escala del eje Y a mltiplos de 2 (24, 26, 28, ..). El tamao de la grfica tiene efecto directo en el despliegue de los ejes. El incrementar el tamao de la grfica es recomendable si tiene problemas para darle un formato deseado a los ejes. 7. Mueva la leyenda a la posicin mostrada y renmbrela. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Usted puede colocar la leyenda en cualquier lugar relativo a la grfica. Con la herramienta de posicionamiento, estire la leyenda para incluir la segunda grfica. Cambie Temp por Promedio de temperatura al seleccionar la leyenda con la herramienta de etiquetado y escribiendo el nuevo texto. Puede cambiar Plot 1 por Temperatura actual de la misma manera. Si el texto desaparece, agrande la caja de la leyenda al reescalar la esquina izquierda de la leyenda con la herramienta de posicionamiento. (La herramienta de posicionamiento cambiar a una esquina de marco para que pueda ser reescalado la leyenda). Usted puede seleccionar el tipo de despliegue de la lnea y el tipo de estilo del punto al llamar el men emergente sobre la leyenda. Si cuenta con un monitor de color, tambin puede colorear el color de fondo y del trazado de la grfica al llamar el men emergente y seleccionar el submen Color Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica 8. Ejecute el VI. Mientras el VI se est ejecutando, utilice los botones de la paleta para modificar la grfica. El botn provee opciones de acercamiento en zonas especficas o en todo el grfico. El botn permite mover la grfica a nuestro antojo. El botn desactiva los dos anteriores botones y regresa al ratn al modo normal. Botn de zoom. Zoom en secciones o en toda la grfica Botn de paneo.- Permite mover el grfico a nuestro antojo Regresar al modo estndar Al modificar el formato del texto los ejes podran requerir ms espacio fsico del que fue asignado originalmente. Si cambia el eje, la ventana podra ser mayor que el tamao mximo que el VI puede manejar correctamente. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica 9. Detenga la ejecucin del VI. Utilice la opcin de Save As y renmbrelo como Temperatura Running Average.vi. Fin del ejercicio 4.5 Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Ciclo For El ciclo For repite la parte del diagrama de bloques dentro de su estructura, un nmero predeterminado de veces. El ciclo For se selecciona de la subpaleta de Structures en la paleta de funciones, y luego se enmarca con el cursor la parte del diagrama de bloques que se desea repetir. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica La estructura del ciclo For tiene dos terminales: la terminal de conteo (Terminal de entrada) y la terminal de iteracin (terminal de salida). La terminal de conteo especifica el nmero de veces que se ejecutar la parte del diagrama de bloques dentro de los lmites del ciclo For. La terminal de iteracin contiene el nmero de veces que se ha ejecutado el ciclo For. La estructura del ciclo For es completamente modificable de tamao y forma; basta con tomar con el cursor alguna de las esquinas de la estructura para cambiar su forma y tamao. Se pueden agregar elementos adicionales a la estructura del ciclo For, colocando estos elementos adicionales dentro de los lmites de la estructura. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica El ejemplo siguiente muestra un ciclo For que genera 100 nmeros aleatorios y despliega los puntos en una grfica tipo Chart. La diferencia entre los ciclos For y While es que el ciclo For se ejecuta un nmero predeterminado de veces y el ciclo While no para de ejecutar el diagrama de bloques que contiene hasta que el valor de la terminal condicional llega a ser FALSO. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Ejercicio 4.6 Objetivo: Construir un VI que despliega 2 seales en una grfica en modo de barrido. La grfica debe desplegar un nmero aleatorio y su promedio instantneo de los ltimos cuatro puntos. En este ejercicio utilice un ciclo For (N = 200) en lugar de un ciclo While. Trate de hacer que la grfica luzca con la que aparece a continuacin. Programacin grfica para instrumentacin y control UNIVERSIDAD TECNOLOGICA DE HERMOSILLO INSTRUMENTACION VIRTUAL Mecatrnica Tips para la construccin del diagrama a bloques 1. Utilice los registros de corrimiento con tres terminales a la izquierda para promediar los ltimos cuatro datos. 2. Utilice la funcin Random Number (0-1) de la subpaleta Numeric para generar los datos. 3. Utilice la funcin Bundle de la subpaleta Cluster para agrupar el dato aleatorio con los datos promediados antes de graficarlos. 4. Guarde el VI y llmelo Random Average.vi Fin del ejercicio 4.6