From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Como monitorear una variable

Buenos días a todos!

 

Yo soy nueva en el uso de labview y estoy tratando de hacer un Vi con el cual pueda ir monitoriando una cierta variable, esto es con la finalidad de que si dicha variable se sale del rango para el cual debe trabajar un lazo de control pueda llevarla de nuevo dentro del rango. Ya tengo el vi hecho y al parecer está funcionando bien, el problema es que se quisiera poder ir viendo la variable que se desea controlar y no puedo hacerlo debido a que se encuentra dentro de un subvi y el mismo posee un while loop, por lo tanto no me muestra la variable "siempre" sino sólo el último valor que midió (es decir, en donde finalizó el while loop).

 

He intendo usar una variable global para extraerla del subvi, sin embargo no hay ninguna diferencia con hacer esto y simplemente extrer un conector. No se si se puede configurar la variable global para que me permita hacer esto o si hay otra herramienta en labview que lo haga.  

 

Les agradezco anticipadamente su colaboración y su tiempo. Gracias

0 Kudos
Message 1 of 6
(3,059 Views)

Hola RMarissa!

De hecho, cuando usted está tratando una señal dentro de un loop while, si su indicador se encuentra fuera del loop while, que va a cambiar sólo cuando una determinada condición se satisface, es decir, la condición de loop while. Puede crear un indicador dentro de su loop while, pero no es aconsejable ya que consume muchos recursos, y su programa puede ser más lento.

¿Cuál es la fuente de la señal que va a supervisar? No se puede leer que antes de que el loop while, y después de tratarlo en el loop?

Tal como yo entiendo en tu explicación, estoy casi seguro de que hay una solución. Por favor, adjunte sus archivos, (VI y de SubVI) para que podamos encontrar una alternativa.

Gracias
!

Barbara Pracek
Engenharia de Aplicações
National Instruments Brasil

0 Kudos
Message 2 of 6
(3,042 Views)

Buenas tardes.

El problema consiste en que trato de controlar y mantener el valor de Gamma, (que es la amplitud de vibracion de un bajo, alimentado con un generador de señales). En principio el Vi que envío hace lo siguiente:

Le indico los valores de amplitud que deseo que busque.

Coloca un voltaje de alimentación pequeño, (colocado por defecto), mide la amplitud de vibración (en voltios) y de allí calcula el valor de Gamma equivalente.

Calcula la diferencia que hay entre este valor inicial y el setpoint, y mediante iteraciones sucesiva obtiene el valor de gamma requerido.

Como deseo que pase un tiempo para que el sistema con el que estoy trabajando llegue a un estado estacionario, mientras dicho tiempo transcurre pido que mida el valor de Gamma (Aquí se halla un while loop).

 

La solución momentanea que hallé para esto colocar la ventana de los subvi's a la vista y así hacer el seguimiento de la señal mientras el programa se ejecuta. El siguiente problema que estoy tratando de resolver es hacer un programa que mantenga el valor de Gamma constante (tanto como se pueda), es decir debe haber un lazo de control que mida la amplitud de vibracion y varíe constantemente el voltaje del generador para asegurar que gamma se mantenga. Por ahora solo implementé el hecho de que si Gamma se sale de un rango (el cual, desafortunadamente es bastante grande para lo que deseo medir) cambie la amplitud del generador para hallar gamma nuevamente, el problema es que no se como hacer que un sistema de control se ejecute continuamente pero sin dejar de hacer el resto de las tareas que debe hacer el Vi, agradezco cualquier sugerencia.

 

Disculpen el desorden en los Vi. Y muchas gracias por su colaboración.

0 Kudos
Message 3 of 6
(3,038 Views)

Hola!
Vamos a ver si me entiende ...


Su objetivo es la aplicación para leer una señal de tensión, y luego convertirlo en una escala específica (Gama) para comparar con algún punto de referencia que había elegido? Las otras partes, donde se están tratando las imágenes se relacionan con la Gama también?


Que desea controlar el "Gamma control Medido" (ver foto adjunta)? ¿Es esto de entrada que desea ver en su panel frontal principal? En el "G en Curso" indicador "?

gammacontrolmedido.png

La fuente de esta señal, es un instrumento de Agilent, que usted está leyendo por la función VISA?
O no, es el inductor sensor? No soy la comprensión de este punto.


Hay algunos subVI ha perdido, por favor adjunte a si se le olvidó algo.


Y por favor, si puede, haga una explicación paso a paso de su programa conjunto, creo que nos puede ayudar a resolver su problema.
Gracias! Saludos,

Barbara Pracek
Engenharia de Aplicações
National Instruments Brasil

0 Kudos
Message 4 of 6
(3,026 Views)

Hola!

 

El funcionamiento es el siguiente: El generador agilent envía una señal a una corneta, y la respuesta de la corneta es lo que se mide con el sensor inductivo (de allí se obtiene la señal de tensión de donde se calcula la variable Gamma).

 

En este Vi el objetivo es controlar Gamma (llevandola a un valor deseado) variando el voltaje del generador, y hacerle un seguimiento constante a la variable Gamma para saber cuando y cuanto fluctúa. 

 

Los programas de procesamiento de imágenes no tienen nada que ver con Gamma. Y si, Gamma de control medido (el que envió en la imagen) es una de las variables que quisiera tener en el panel frontal principal, además del indicador G que se encuentra en el diagrama de monitoreandoG_prueba1.vi, pero si se puede resolver para este indicador puedo hacer el resto por analogía ya que todos los subvi's son parecidos en el hecho de que tienen el while loop que no permite la salida hasta su culminación.

 

Adjunto envío algunos de los Vis que faltan. Muchas gracias.

0 Kudos
Message 5 of 6
(3,019 Views)

Hola Raissa!

En primer lugar, me gustaría hacer algunas recomendaciones, a fin de facilitar su trabajo, ya que se trabaja con muchas VI.
Usted puede reunir todas las del VI, el subVI, y cualquier otro documento relacionado con el proyecto en un archivo de proyecto. Una manera fácil de hacer esto, es cuando usted está con todos los del VI abierto, haga clic en "File" -> New -> Empty Project

 LabVIEW le preguntará si desea reunir a todos los abiertos VI en este archivo de proyecto, haga clic en Sí.

En la ventana del Project Explorer será más fácil de gestionar todos los archivos.


Sugerencia, usted puede revisar su licencia de LabVIEW tal vez usted tiene acceso a la caja de herramientas de control de PID que puede ayudarle a controlar su sistema.


Para resolver el problema con la visualización de datos, puede utilizar una variable global, que no entiende por qué no lo consiguió antes. Sin embargo, hay que prestar atención cuando se trabaja con variables en LabVIEW, yo fuerte recomendamos que escriba en una variable en un solo lugar o VI, y en el VI otra sólo tiene que utilizar la variable de leer su valor, o para observar en algunos indicador.


Estoy adjuntando un pequeño ejemplo de variable global, donde escribo el valor de un VI, pero lo he leído en otros. También puede encontrar más información en: http://zone.ni.com/reference/en-XX/help/371361H-01/lvhowto/creating_global_variables/


En el ejemplo se deben observar, tenemos un VI que escribe en la variable global, tenemos la variable global, que es un VI, VI y tenemos otros que se lee el valor de la variable global. El enlace de arriba se explica cómo trabajar con las variables globales.


Espero que le puede ayudar, si usted consigue cualquier problema póngase en contacto con nosotros!
Saludos!

Barbara Pracek
Engenharia de Aplicações
National Instruments Brasil

0 Kudos
Message 6 of 6
(3,008 Views)