Discusiones sobre Productos NI

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

DAQmx Frecuency generation

¡Resuelto!
Ir a solución
Utilizo el código adjunto para generar una señal analógica senoidal. No he incluido los vis para el cierre de "Task" por comodidad. Pongo un ciclo por buffer. Mi pregunta es: ¿Cuál es el número máximo de "Samples per Buffer" que puedo utilizar según la frecuencia a utilizar?¿Existe una fórmula para determinarlo?
Gracias,
0 kudos
Mensaje 1 de 2
2.837 Vistas
Solución
Aceptado por el autor del tema fbuendia
Hola Fbuendía,


con la VI como lo tienes tu, no va a funcionar. Has elegido generatción de los señales continuamente y para eso siempre necesitas un bucle.
Por favor mira las ejemplos que vienen con LabVIEW (Help>Find Examples>Dataacquistion and generation with Hardware> DAQmx> Signal Generation> Voltage). Tal vez el camino está un poquito diferente, pero debes encontrarlos fácil.
Los dos ejempos que deben servirte son "Cont Gen Voltage Wfm-Int Clk-On-Board Regeneration.vi" (o "Cont Gen Voltage Wfm-Int Clk-Non Regeneration).
Respecto a tu pregunta, eso depende de tu tarjeta. Por ejemplo la PCI-6259 tiene 4095 muestros (on-board-memory). Mira a la speceficación de tu tarjeta. Si trabajas con salida analogico tienes que asegurar que escribes los valores sufeciente rápido a la tarjeta (si no usas el Regeneration). Con el Regeneration la tarjeta muestra las mismas señales más veces (depende cuando acutalizas la memoria on board).

Además por favor nunca usa variables locales. Especialmente en tu ejemplo los variables son totalmente inutiles. Puedes cablear directamente todo los controles. Variables locales tienen un rendemiento peor que un cable y es casí siempre mejor evitarlas.
Aquí tienes un enlace con más problemas que tienen los variables locales:
Racecondition

Salud, RMathews


Mensaje editado por RMathews

Mensaje editado por RMathews
Ramona Lombardo
Applications Engineer, NI Germany
Certified LabVIEW Developer
0 kudos
Mensaje 2 de 2
2.836 Vistas