Discusiones sobre Productos NI

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

Señales desfasadas por LABVIEW

Hola a todos,

 

Veréis estoy probando las salidas digitales de una nueva tarjeta de adquisición de datos (PCI/PXI 6221), que he adquirido. Para ello, he hecho un programa con LABVIEW que me genera un tren de pulsos en cada una de las salidas digitales que tengo (en este caso tengo dos). El problema es que al visualizar las dos señales por los dos canales del osciloscopio, éstas me salen con un pequeño desfase entre ellas. que al parecer lo genera el propio LABVIEW. Para generar estas dos señales, he creado dos subprogramas en el programa principal que son exactamente iguales, pero uno controla la salida del CTRL 0 y el otro la CTRL 1. Teóricamente en el osciloscopio debería ver dos señales completamente iguales, a misma frecuencia y escala, pero me aparece ese desfase entre ellas ¿Alguién sabe a qué es debido este pequeño desfase y como podría solucionarlo ? Se ha descartado ya que sea un problema de instrumentación (osciloscopio, sonda...), ya que se han hecho prueba con un generador de funciones y este desfase no aparece.

 

Muchas gracias por vuestra ayuda por adelantado!!!!!Emoticono feliz

Mensaje 1 de 4
4.040 Vistas

Hola,

 

            A mi parecer, el problema puede estar en que en el código que diseñaste nada te asegura que ambos subprogramas inicien al mismo tiempo, y al no iniciar de manera sincrona obtienes un desfase entre ambos. Puedes probar escribir en un solo lazo el tren de pulso en ambas salidas y mirar como se comporta. Si puedes indicanos si trabajas con procesadores multinucleo, y de que frecuencias son las señales que te interesa generar.

 

                          Saludos. 

Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
0 kudos
Mensaje 2 de 4
4.032 Vistas

Hola

 

Luis está en lo cierto, el problema de que tengas las dos líneas no sincronizadas probablemente se deba a que inicializas las dos tareas en instantes diferentes. Para tener la escritura sincronizada con líneas digitales (las que no admitan buffering, porque las que admiten buffering se sincronizan mediante la señal de reloj) tienes que hacer las escrituras en cada una de las líneas lo más cerca posible (muy recomendable que estén en el mismo bucle). Te adjunto una imagen de un ejemplo de este tipo que he comprobado que funciona.

 

Un saludo 

 

0 kudos
Mensaje 3 de 4
4.016 Vistas

Muchas gracias por vuestra ayuda. Probaré a seguir el ejemplo que me habéis enviado aplicado a la señal que quiero generar (un tren de pulsos para cada canal), y veré si funciona.

De nuevo muchas gracias por todo!!!Emoticono feliz 

0 kudos
Mensaje 4 de 4
4.009 Vistas