Discusiones sobre Productos NI

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

guardar la posicion de los cursores.

Hola a todos ¡¡
 
De antemano les agradesco su tiempo para dedicarle a mi problema.
 
Resulta que quiero hacer un VI que adquiera una señal, la despliegue y la grabe en un archivo (TDMS por ejemplo), pero que mientras la este adquiriendo pueda seleccionar algunos puntos de dicha grafica mediante un cursor y grabar varias ubucaciones, para que posteriormente pueda leer los datos adquiridos y ubicar el instante en que los cursores fueron colocados.
Ya he realizado algunos intentos, pero no logro hubicar en el momento de leer los datos que el cursor corresponda y aparezca con los datos previamente adquiridos.
 
La arquitectura de mi VI es una pequeña maquina de estados (si lo se no es muy eficiente, pero lo hice así para poder conmutar entre el modo de adquiSición y el de lectura), tengo que escoger entre dos opciones: ADQUISICIÓN o  LECTURA.
 
Cuando Elijo ADQUISICIÓN, puedo hacer aparecer el cursor corriendo junto a los datos hasta que desaparece, si mientras aparece escojo una posición la puedo salvar en un archivo enumerado mediante el boton Save. Digamos que adquiero unos 20 segundos y selecciona algun instante mediante el cursor y luego hago transcurrir otros 20 segundos hasta finalizar la adquisición.
 
Luego elijo LECTURA, EL VI me pide el nombre del archivo previamente generado, enseguida tengo que cargar el archivo de la posición del cursor (mediante el boton Load). Los Datos adquiridos aparecen, pero el cursor NO¡¡, sin embargo las coordenadas del cursor son las correctas. quiero que corresponda la posición del cursor con los datos y que ademas pueda desplazarme como por ejemplo esos 20 segundos atras o adelante sin que el cursor desaparesca si yo agrego otro.
 
 Ademas si quiero ubicar otras posiciones mediante los cursores sin perder la sincronia de posición, no lo he logrado. Tambien quiero ubicar notas o texto en los cursores salvados durante la adquisición.
 
Algun consejo o tip ??
 
Mi problema creo que se podria resumir en como guardar la posicion de los cursores.
 
Como Dato adicional, la manera en que puse el cursor en la graph fue mera ilusión optica, tan solo puse un chart transparente encima ( no me intereza mucho la presición o exactitud de la posición de los cursores , tan solo algo cercano al valor).
Cualquier sugerencia o aporte al trabajo será bien recibido y agradecido.

Nuevamente muchas gracias
p.d. disculpen la descripcion de mi problema y lo desorganizado de mi VI, es que anduve haciendo diversas pruebas.
Descargar todos
0 kudos
Mensaje 1 de 5
4.623 Vistas

Hola yomerototote, para empezar el hecho de que uses una arquitectura de máquina de estados es buena, la máquina de estados es una muy buena estructura porque te permite crear VIs escalables legibles y mantenibles que es lo ideal aquí, además de que puede ser bastante eficiente.  

Para guardar los cursores puedes usar los property nodes, por el estilo que lo estas haciendo, la verdad no pude probar muy bien tu código, pero hice un pequeño ejemplo que luego puedes convertir a máquina de estados. En el ejemplo lo que hago es guardo en el TDM 2 waveform, una de la adquisición (en este caso simulada) y la otra es una waveform del mismo tamaño que inicializo con valores NAN, al momento de graficar un arregló con NAN, estos no salen en la grafica. Después simplemente lo que haces es tu vas agregando lo puntos que quieres guardar al dar agregar. Esto lo que hace es remplazar en esos lugares el NAN por el valor del Waveform. Cuando termines de agregar tu punto le puedes dar grabar, y eso va a escribir tu waveform con los puntos a un TDM. Una vez grabado, simplemente lee los datos del TDM y los grafica. Estoy metiéndolos en el arreglo con NAN para mantener el valor y posición del TimeStamp y para facilitar la lectura espero que te sirva.

Saludos

 

Benjamin C
Principal Systems Engineer // CLA // CLED
0 kudos
Mensaje 2 de 5
4.595 Vistas
Emoticono feliz
 
hola BeCeGa
Muchas gracias por dedicarle el tiempo a mi problema, revisare tu ejemplo, pero hay un pequeño detalle: no lo puedo abrir, el explorador me marca un error (asi es, no el Labview), al momento de abrirlo, aparece una un cuadro de dialogo del Iexplorer diciendo que ha habido un erros inesperado. Lo he intentado abrir con otras maquinas que tambien tienen instalado el Labvio, y da lo mismo.
Me lo podrias volver a postear por favor ?? Emoticono indiferente
 
Algo que no mencione es que uso el Labview 8.2.1, en Windows XP SP2, y las tarjetas que uso son una USB-6009 y una USB-6259.
ah¡¡ y por cierto que es un valore NAN ?
 
nuevamente muchas gracias. Guiño
0 kudos
Mensaje 3 de 5
4.585 Vistas

Hola yomerotote, si parece que estaba mal el archivo, aquí esta para 8.2.

Ahora con respecto a NAN es No A Number, estos son valores incorrectos y al momento de desplegarlos en una grafica no aparecen por lo que te permite desplegar solo partes de una waveform, pero mantienes la posición respecto al tiempo.

Cualquier cosas sumada o multiplicada por NAN da como resultado NAN con excepción de multiplicar por 0, que da 0 y dividir con 0.

Saludos

 

Benjamin C
Principal Systems Engineer // CLA // CLED
0 kudos
Mensaje 4 de 5
4.576 Vistas
Hola amigos, que tal!
 
Pues fijense que yo estoy haciendo exactamente lo mismo y ese es exactamente mi mismo problema, el poder grabar la posicion de los cursores junto con la señal adquirida! Pero ahorita mi principal problema es como añadirle texto a los cursores y que tambien se grabe junto con la posicion, quiero hacer anotaciones en esos cursores para despues acordarme que paso en ese cursor. No se si alguno ya haya podido hacerlo, yo llevo varias semanas intentandolo pero no se por donde. La verdad todavia soy muy novato en esto.
 
Se los agradeceria sobremanera si me podrian dar alguna ayuda o decirme mas o menos como lo hicieron ustedes.
Muchas gracias!!
0 kudos
Mensaje 5 de 5
4.310 Vistas