Discusiones sobre Productos NI

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

DAQ NI6356 Adquisicion continua de datos

Buenos dias!

 

Mi duda va con respecto al programa que adjunto a este mensaje, es un programa que va a ser utilizado para detectar 3 senales por lo cual adquiero datos de 3 canales analogos, todos son de voltaje, necesito estar con una frecuencia de muestreo de 1.25 MHz por canal, es decir, el maximo que me puede proporcionar la NI 6356. El tiempo de adquisicion de datos de ser cotinuo aproximadamente 2 horas o 3 horas dependiendo como se desarrolle el experimento de inestigacion que trabajo. 

 

El programa que ven adjunto es bn sencillo, es un programa que me ha durado guardando datos durante 2 horas 07 minutos, de forma continua sin embargo se detiene indicando que la buffer esta llena. Pense que lo tenia controlado y que siempre dudaria el mismo tiempo guardando datos, pero no, se vuelve aleatorio, otras veces solo dura 10 min adquiriendo datos y me aparece el mismo mensaje de error, es como si la buffer estuviera cargada aun. Me gustaria saber si es posible, como descargar la buffer, considerando que esta tarjeta posee una memoria interna de 64MS pienso que con 3 canales muestreandolo a 1.25MHz/s no la estoy llenando .. 

 

Gracias por su colaboracion y estare pendiente

 

ATTe: Andres

0 kudos
Mensaje 1 de 8
5.359 Vistas

Hola Andrés,

 

Gracias por utilizar los foros de National instruments! La razón por la cual está sucediendo ese error es debido a que no le estas dando tiempo a tu código de consumir todos los datos que existen en el buffer de la tarjeta (Samples per channel y el rate están en 1.25 Mhz). Aún cuando teóricamente estas consumiendo la misma cantidad de datos a la que está adquiriendo la tarjeta hay que tener en consideración la latencia del resto de tu código y la velocidad del bus de datos USB para pasar los datos a software.

 

Te sugiero bajar la velocidad de adquisición (Rate) para darle oportunidad a tu código de procesar todos los datos y así disminuir el tamaño del buffer de la tarjeta.

 

Espero que esta información te haya sido de utilidad!

 

Saludos!

 

Luis C.

 

National Instruments de México

Ingeniería de Aplicaciones

Luis CT
Mensaje 2 de 8
5.308 Vistas

Hola Luis muchas gracias por tu atencion, bueno realmente para mi bajar la frecuencia de muestreo no es una opcion, debido a que deseo capturar eventos que suceden en micro segundos, adicionalmente hice una mejora al programa, ya logro mantenerlo guardando por 2 horas continuas sin embargo, pasada esas dos horas vuelve a indicarme problema de la memoria, lo cual aun no me explico si estoy limpiando la buffer... No se si este haciendo mal la limpieza de la buffer, podrias revizarlo para asegurarme si todo esta bn? . lo adjunto a este mail.

 

Saludos

0 kudos
Mensaje 3 de 8
5.015 Vistas

Que tal Andrés!

 

No veo tu código adjunto. Podrías adjuntarlo para poder revisarlo por favor?

 

Saludos!

 

Luis C.

 

National Instruments

Ingeniería de Aplicaciones

www.ni.com/soporte

Luis CT
0 kudos
Mensaje 4 de 8
5.011 Vistas

Hola disculpa, lo adjunto ahora si. Este programa es un ejemplo llamado Cont Acq Producer Consumer to File, partiendo de él, adicione 2 canales mas, y cambie la forma de guardar los datos, debido a que ellos lo guardan en formato file que no entiendo como pasarlo a tdms, de esta forma como lo tengo lo guarda tdms, y lo puedo visualizar rapidamente por medio de DIadem. Si tienes alguna duda me la dices por favor, estare atento a cualquier sugerencia.

 

Saludos Luis!

0 kudos
Mensaje 5 de 8
5.009 Vistas

Buen día Andrés,


Te comparto este link que te será útil para solucionar el problema que estas teniendo:

 

http://digital.ni.com/public.nsf/allkb/AB7D4CA85967804586257380006F0E62

 

También puedes seguir el enlace al Knowledge Base en donde se menciona como aumentar el tamaño del búfer. Allí encontrarás más información acerca de cómo LabVIEW asigna la memoria para una tarea de entrada analógica y un ejemplo de cómo aumentar el tamaño del búfer.

 

Espero que esta información te sea de utilidad.

 

Saludos!

 

Luis C.

 

National Instruments

Ingeniería de Aplicaciones

www.ni.com/soporte

Luis CT
Mensaje 6 de 8
4.967 Vistas

Hola Luis gracias, bueno estuve mitando el link q me enviaste, adicione el test de la cantidad de datos por canal sin embargo se mantiene en el mismo numero, es decir que si estaria limpiando la buffer. Hice una prueba con el programa q te pase, lo deje en vez de utilizar el asistente para almacenar los datos, utilice el VI para guardarlos en formato File .. me podrias aclarar ese si ese formato es posible visualizarlo?? .. trate de visualizarlo con DIAdem pero no me fue posible, tampoco como archivo txt, ni como archivo .xls .. Me gustaria aclarar esa parte, estoy entendiendo que alli viene el problema, parece que el proceso de utilizar el asistente para guardar es mas demorado que el VI de queue y me genera un problema de tiempos, pareciera ser esa la falla, por lo que pienso que si logro implementar un programa para guardar que demore menos, podria solucionarlo. Te agradezco si me puedes colaborar. 

 

Saludos !

0 kudos
Mensaje 7 de 8
4.935 Vistas

Que tal Andrés!

 

No me queda muy claro a que te refieres con formato File, que VI de LabVIEW estas usando para generar el archivo? Si lo que deseas es aumentar la velocidad de escritura en un archivo te sugiero hacer uso de los VIs de bajo nivel, te dejo este link en donde se puede ver la comparación de cada uno de los tipos de archivo que puedes implementar dentro de tu aplicación:

 

http://www.ni.com/white-paper/9630/en/

 

Te sugiero que utilices los VIs de bajo nivel dentro de la paleta de File I/O y hagas la comparación entre los diferentes formatos. También revisa el siguiente ejemplo que se encuentra dentro del Find Examples... de LabVIEW.

 

  • TDMS Write Events Data.vi

Espero que esta información te sea de utilidad!

 

 

Luis CT
0 kudos
Mensaje 8 de 8
4.877 Vistas