Discusiones sobre Productos NI

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

Adquisicion analoga y salida digital simultanea

Buen dia.

Mi pregunta es la siguiente:

Con una tarjeta USB6008 se puede muestrear una señal analoga a una razon de 10KS/seg, al mismo tiempo que se esta enviando una señal digital de 500Hz?

Lo que pasa es que realice un VI en LV8.5 y al ejecutarlo se pierden datos digitales.

Existe alguna forma de solucionar este inconveniente?

 

Agradezco su atencion y colaboracion.

0 kudos
Mensaje 1 de 9
4.581 Vistas

Hola,

 

Te envio un ejemplo que hace lo que quieres.

 

El ejemplo utiliza la salida digital 0 para generar una señal digital y la entrada analoga hace la lectura del señal digital generado.

 

Para generar los 500 Hz em la salida digital el loop fué temporizado para 2 ms.

 

Se tienes cualquer duda por favor me contacte.

 

Cordiales Saludos.

 

Luciano Borges

National Instruments Brazil

Mensaje editado por Lucianogob
Luciano Borges
Test Development Engineer
0 kudos
Mensaje 2 de 9
4.565 Vistas

Señor Luciano muchas gracias por responder mi pregunta.

Resulta que el VI que envio esta en LabView 8.6 y yo tengo instalada la version de LabVIEW 8.5.

Podria enviarme el VI en la version 8.5?

De antemano muchas gracias.

0 kudos
Mensaje 3 de 9
4.552 Vistas

Hola,

 

Te envio ahora la misma VI pero en la versión 8.5 de LabVIEW.

 

Se tienes cualquer duda me contacte.

 

Cordiales Saludos

 

Luciano Borges 

National Instruments Brazil

Luciano Borges
Test Development Engineer
0 kudos
Mensaje 4 de 9
4.544 Vistas

Hola...

Lo que quiero es enviar un arreglo de datos serialmente (MENSAJE) por una linea del puerto de salidas digitales de la tarjeta USB6008, con el menor tiempo de bit posible (1ms) y simultaneamente adquirir una señal con una frecuencia de muestreo de 10KS/seg.

Lo que pasa es que realice un VI en LV8.5 y al ejecutarlo se pierden datos digitales, por ejemplo, al enviar el MENSAJE "000001000000", hasta cierto tiempo de bit funciona de forma correcta, pero al enviar los datos con un tiempo de bit menor a 2mseg se pierden y me entrega datos erroneos con tiempos de bit de 1 mseg. Tengo entendido que con la tarjeta USB6008 se pueden sacar datos digitales con un tiempo de bit de 1mseg (tiempo de actualizacion por Software).

 

Por otra parte no existe algun conflicto al estar enviando y adquiriendo datos simultaneamente por ser el puerto USB serial? Lo digo por que en algunos instantes de tiempo no sale el mensaje esperado. He probado con el MENSAJE "010101010101" con el cual deberia esperar una señal cuadrada y cada 25 pulsos aparece un error.Estas señales las observo con un osciloscopio.

Adjunto el VI con el cual estoy probando.

 

Cordial saludo.

   

 

0 kudos
Mensaje 5 de 9
4.538 Vistas

Hola,

 

No hay problema en utilizar la entrada analógica y las puertas digitales al mismo tiempo.

 

Lo que quieres es enviar un arreglo de dados (en el caso de lo VI que recibí un arreglo de 12 bits) em menos de 1 ms o quieres enviar cada bit en 1 ms? Y que pruebas hicistes para obtener los datos errados? Por favor explicame mejor.

 

Y puedes me enviar la pantalla del error que ocurre?

 

Cordiales Saludos

 

Luciano Borges

National Instruments Brazil

Luciano Borges
Test Development Engineer
0 kudos
Mensaje 6 de 9
4.532 Vistas

Hola,

Quiero enviar cada bit en un 1mseg, 2mseg o el tiempo de bit que yo seleccione.

Una de las pruebas que hice fue enviar el arreglo "101010101010"esperando una señal periodica cuadrada con periodo 2 veces el tiempo de bit, y realmente se obtiene dicha señal pero con perdida de informacion en algunos instantes de tiempo.

El programa se ejecuta sin errores. Adjunto una grafica en donde se muestra un bosquejo de la señal obtenida.

 

Por otra parte envie el arreglo "000001000000" con un tiempo de bit de 1mseg y obtuve una señal periodica cuadrada que no corresponde a los datos enviados; esto ocurre solamente cuando se selecciona un tiempo de bit de 1mseg.

 

Espero haber sido claro.

Cordial saludo.

 

 

 

0 kudos
Mensaje 7 de 9
4.523 Vistas

Hola,

 

Yo he hecho algunas pruebas y he comprovado los errores que me dijiste.

 

Su problema ocurre porque el sistema operativo Windows trabaja en milisegundos, entonces por esto lo minor tiempo que puedes poner en las funciones de tiempo del LabVIEW es 1 ms.

 

Pero el tiempo de 1 ms o 2 como habeis intentado son muy imprecisos porque el sistema operativo tiene que hacer otras tareas y es por esto que ves los errores al enviar el arreglo de bits.

 

Para enviar esto arreglo de bits en esta velocidad debes utilizar tarjetas que soporten sistemas operativos de tiempo real junto con un sistema operativo de tiempo real. Su tarjeta no es soportada por sistemas operativos de tiempo real.

 

Su tarjeta USB-6008 tiene un contador que solo puede recibir señales, entonces se tienes quer recibir señales muy rápidos, puedes con su contador contar las bordas de algun señal, pero no es possible generar señales con su contador.

 

Cualquer duda por favor me contacte.

 

Cordiales Saludos.

 

Luciano Borges

National Instruments Brazil

Luciano Borges
Test Development Engineer
0 kudos
Mensaje 8 de 9
4.498 Vistas

Hola,

Fue de gran ayuda su colaboracion...

Muchas gracias, cualquier otra duda lo contactaremos.

Cordial saludo

0 kudos
Mensaje 9 de 9
4.489 Vistas