Discusiones sobre Productos NI

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

Adquisicion de datos

Hola,

Os escribo el mail para una duda que tengo sobre una aplicación que estoy realizando con LabVIEW.

Tengo un setup montado con un chassis PXI-1036 con dos targetas PXI-6281 y un multimetro PXI-4071 junto con un MUX PXI-2527.

La adquisición de datos ya funciona correctamente, gracias a Signal Express, q me ha creado el codigo que necesito al LabVIEW, donde tengo que tratar los datos (mirar que algunos valores no superen ningun limite, i guardarlos).

Pero la pregunta es, con las targetas PXI-6281 tengo que adquirir unos datos de

8 canales diferenciales de cada una de ellas cada 1ms (1kHz). Luego, con Siganl Express tengo 2 maneras de crear este setup:

Config 1: (Archivo adjunto Cfg_1.jpg)

Acquisition mode: N samples

Samples to read: 1000

Rate: 1kHz

Se obtienen 1000 muestras de cada canal cada segundo, que es lo que realmente necesito.

Config 2: (Archivo adjunto Cfg_2.jpg)

Acquisition mode: Continuous samples

Samples to read: 1000

Rate: 1kHz

Tambien deberia leer 1000 muestras/seg y por canal, pero a los pocos segundos de trabajo, me aparece el error que podemos ver al archivo adjunto Error.jpg

Que diferencia existe entre las 2 configuraciones? Cual debería utilizar para mi caso? De momento utilizo la cfg_1 ya que es la q no me ha dado ningun problema.

Por otro lado, los datos que adquiero a traves del sistema DMM - MUX, hay alguna manera de accelerar lo maximo possible la adquisición de datos?

Muchas gracias por vuestra ayuda.

Descargar todos
0 kudos
Mensaje 1 de 2
3.804 Vistas
Hola Kolomer,

La diferencia de los dos es que en el caso uno estás solamente leyendo una vez 1000 valores y la adquisición para despues. En tu caso estás ejecutando continuamente este possiblididad, que significa que lees 1000 valores con un timing de hardware y despues tienes un timing de software para empezar de leer de nuevo.

Con la adquisición continuamente estás leyendo todos los valores que tienes con un timing de hardware. Tienes siempre tres buffer: el FIFO (first in first out) de la tarjeta, la RAM del ordenador en general y  la RAM del LabVIEW.
Entonces el transfer de FIFO al RAM funciona normalmente con DMA (direct memory access). Despues tienes que asegurar que estás leyendo sufeciente rápido los datos de RAM del ordenador a la RAM de LabVIEW.

No veo bien que haces en tu programma, pero acabo de encontrar una KB que pueda ayudarte bien. Aquí tienes un enlace. Lo que tienes que hacer es cablear los clusters de errores con todas las funciones que estás usando:
http://digital.ni.com/public.nsf/allkb/AB7D4CA85967804586257380006F0E62?OpenDocument

Espero que ese información te sirve bien,
Salud, RMathews


Ramona Lombardo
Applications Engineer, NI Germany
Certified LabVIEW Developer
0 kudos
Mensaje 2 de 2
3.760 Vistas