Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Vaciar string

Hola a todos,

 

tengo una variable global de tipo string, y me gustaría que cada vez que entra en ejecución un determinado subVI este string se vaciara, ya que sino, cada vez que se ejecuta, añade los nuevos valores siguiendo los antiguos, y yo quiero que los "machaque". 

 

He probado a utilizar el Invoke node, para reinicializar variables al valor por defecto, pero no sé porqué el programa muere cada vez que lo ejecuto. ¿alguno conoce forma alguna de "vaciar" el string, de borrar todo su contenido?

 

Gracias.

0 kudos
Mensaje 1 de 11
4.621 Vistas

Que tal Pigwedeon,

 

Yo te recomendaría que al final de que ese VI se ejecuta, guardes en la variable una constante de string vacia. Sin necesidad del Invoke node. Simplemente cableale una constante de string vacia.

 

Intetna esto y si no funciona, estoy a tus ordenes!!

 

Saludos,

Luis Elias
NI VeriStand and HIL Product Manager
0 kudos
Mensaje 2 de 11
4.612 Vistas

Hola Ifelilas, gracias por tu respuesta.

 

Eso es lo primero que pensé, meterle un string vacío. El problema es que si lo pongo al final de ese subVI, se carga el valor que había obtenido. Necesito que lo borre antes de comentar el subVI y obtener el nuevo valor. Por eso he colocado eso mismo (string vacío a la variable) al principio del subVI, pero no funciona. En cambio si lo pongo al final, sí que funciona, pero claro, como te he comentado no me sirve ya que entonces borra el valor que ha obtenido...

 

Es muy extraño lo que sucede...

 

 

0 kudos
Mensaje 3 de 11
4.607 Vistas

La verdad no entiendo bien que es lo que está pasando, pero si me pasas los VIs a lo mejor me pueda dar una mejor idea, por que no los subes!

 

 

Luis Elias
NI VeriStand and HIL Product Manager
0 kudos
Mensaje 4 de 11
4.603 Vistas

En el programa principal he colocado un control de esta variable, para ver qué guarda en cada momento. Al arrancar está vacía, cuando ejecuto el subVI una vez, me obtiene el primer dato (supongamos +100), cuando vuelvo a llamar al mismo subVI, inmediatamente la variable se vacia, pero tras finalizar el subVI, entonces aparece +100+100...

 

Por lo que intuyo que hay algo en ese subVI que guarda el último valor, y por más que rinicialice la variable global, al final siempre acaba añadiendo los valores anteriores. ¿Hay algún método para limpiar toda la memoria de ese subVI?

0 kudos
Mensaje 5 de 11
4.602 Vistas

Mira, esto que me comentas puede ser principalmente por dos razones, la primera es que estes usando una variable funcional global y estas guardando varios datos, que dudo que sea el caso.

 

La segunda, puede ser que lo que estas guardando en tu variable global al leerlo lo estas concatenando, o lo que le escribes estas concatenando lo que le estas escribiendo.

 

Es decir, si yo tengo un 10 en mi Variable Global, y lo despliego en otro VI y después tengo un 8 y lo despliego, el problema es que el 10 se quedó en memoria y al desplegar el 8 despliego el 10 y el 8.

 

Debe ser por ahí algo que se nos esta llendo en la programación, pero no estoy seguro, necesitaria ver el VI.

 

Te recomendaría poner un probe en tu variable a ver que te está mandando.

 

Saludos,

Luis Elias
NI VeriStand and HIL Product Manager
0 kudos
Mensaje 6 de 11
4.598 Vistas

Parece ser que es lo segundo que comentas, de ahí que necesitara limpiar memoria.

 

Te he adjuntado los .vi en cuestión, el primero es el programa principal, el segundo, es el que se ejecuta cuando le das al botón de "cargar". Que lo que hace es buscar una trama de datos de un Excel que cargas previamente y le indicas la fecha y hora de la trama de datos con la que quieres trabajar. En el control de "basedatos" es la variable global en cuestión, la problemática...

Descargar todos
0 kudos
Mensaje 7 de 11
4.596 Vistas

Hola luis, gracias por la ayuda que me estas ofreciendo.

 

¿has conseguido averiguar algo mirando los VIs?

0 kudos
Mensaje 8 de 11
4.584 Vistas

Que tal,

 

Ya los descargue pero no he tenido tiempo de checarlos aun, en cuanto tenga un momento los reviso y te comento.

Luis Elias
NI VeriStand and HIL Product Manager
0 kudos
Mensaje 9 de 11
4.582 Vistas

Hola Luis,

 

además de preguntarte si habías averiguado algo sobre mi duda, quería aprovechar para preguntar si sabes cómo ajustar la ventana del panel frontal para que se abra siempre a determinado tamaño. En mi caso quiero ajustarlo al marco de los controles.

 

Gracias.

0 kudos
Mensaje 10 de 11
4.545 Vistas