Discusiones sobre Productos NI

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

Adquiscion varios canales alta velocidad

Hola:

 

dos preguntas:

 

adjunto un vi de un ejemplo que adquiere señales analogicas a alta velocidad por un canal pero...

 

como lo modifico para que sean dos canales pero tambien a alta velocidad?

 

La otra pregunta es como puedo hacer para que independientemente de la frecuencia de la señal analogica siempre aparezcan 3 ciclos de señal como mucho en pantalla porque cada vez que adquiero señales de distinta frecuencia aparecen un monton de ciclos al no estar configurado automaticamente. No me refiero a hacer el autoscale en el eje X sino que sin utilizar esta opcion programarlo mediante Vis.

 

un saludo

 

aitor

0 kudos
Mensaje 1 de 10
3.252 Vistas

Hola:

 

me respondo a mi mismo je jeee.He estado mirando un poco por ni.com y he hecho algunos cambios a mi vi. Tengo una duda. Cuando inicio la adquisicion y le doy a guardar datos me genera el txt con menos datos de los esperados. me explico, si la frecuencia de muestreo es 4000 y leo dos canales, cada canal genera datos 2000 veces por segundo, es decir, Fs=2000/seg. Pues al mirar el txt resulta que si he estado dos segundos adquiriendo, aparecen menos de 1000 datos. Que error cometo?.

 

Y por ultimo si ven que se puede mejorar esta vi tanto en la parte de adquisicion como en la parte de generacion de datos, pueden modificarla sin problemas y comentarla.

 

Muchas gracias

 

Aitor

0 kudos
Mensaje 2 de 10
3.219 Vistas

Hola Aitor,

 

      Puede que en lugar de añadir los datos al fichero, estés reemplazando su contenido. Te recomiendo que eches un vistazo a la ayuda correspondiente al VI "Write to Text File Function", donde se menciona lo siguiente:

 

"[...] If you wire a file refnum to the file input, writing begins at the current file position. To append to an existing file, set the file position to the end of the file by using the Set File Position function. [...]"

 

Te sugeriría usases la mencionada función para asegurarte. Por otra parte, resultaría recomendable cablear la línea de error en las partes correspondientes a la escritura en fichero.

 

      Un saludo,

David Oña
0 kudos
Mensaje 3 de 10
3.208 Vistas

Hola

0 kudos
Mensaje 4 de 10
3.203 Vistas

Hola:

 

podrias poner un ejemplo?.

si quieres puedes modificar mi vi

 

Un saludo

 

Aitor

0 kudos
Mensaje 5 de 10
3.201 Vistas

Hola Aitor,

 

    He estado revisando tu VI para modificarlo y creo que he encontrado una manera más adecuada para proceder. Te sugiero que eches un vistazo al ejemplo "Write to Text File" que incluye el propio LabVIEW. En él también se escriben los datos procedentes de un array de tipo DBL en un archivo de texto. Para ello se utiliza el VI "Array to Spreadsheet String", que devuelve los datos separados por tabuladores y (creo que) un retorno de carro tras el último valor.

 

    Un saludo,

David Oña
0 kudos
Mensaje 6 de 10
3.160 Vistas

Hola:

 

hice cambios como me comentaste y si tienes a mano una tarjeta puedes comprobar que al generar los dos archivos y parar la adquisicion, no tienen el mismo numero de elementos guardados. No sé por qué sucede porque se supone que adquiero los dos canales a la misma velocidad y los dos txt deberian contener el mismo numero de datos (mismo tamaño de array).

 

Existe otra forma de guardar datos garantizando que los dos archivos contienen el mismo numero datos?.

 

Un saludo

 

Aitor

Descargar todos
0 kudos
Mensaje 7 de 10
3.140 Vistas

Hola:

 

He puesto un contador de tiempo a la vi para comprobar si adquiria correctamente y efectivamente pasados por ejemplo 10 segundos,el total de muestras por canal es 10000 lo cual cuadra con el hecho de que si la frecuencia de muestreo es 3000 cada canal adquiere a 1000 muestras por segundo. Lo que no hace bien es guardar los datos en los dos archivos ya que cada uno deberia contener 10000 datos pasados los 10 segundos y no es asi. ¿Por qué?

 

Aitor 

Descargar todos
0 kudos
Mensaje 8 de 10
3.138 Vistas

Hola:

 

He probado otra opcion y resulta que si en vez de adquirir de manera continua adquiero finite samples, los archivos se guardan correctamente, es decir, los dos txt generan igual numero datos como yo queria. Lo que no entiendo es porque cuando genero el while no lo hacen.

 

Un saludo

 

Aitor

0 kudos
Mensaje 9 de 10
3.120 Vistas

Hola:

 

Es evidente que algo no va bien porque esta misma vi empleando TDMS tambien escribe mal los datos. Comparando los dos TDMS tendrian que guardar igual numero de datos y no es asi. Se me ocurre que el problema puede estar cuando empleo index array para separar los canales y por alguna razon se pierden datos.

 

Un saludo

 

Aitor

0 kudos
Mensaje 10 de 10
3.116 Vistas