' schrieb:Aber da werden dann nur einmal Messwerte aufgenommen und nicht kontinuierlich (seh ich auch per Scope am Ausgang des VIs). Sobald ich den Start Task wieder in die Schleife nehme, habe ich auch wieder kontinuierliche Messwerterfassung. Was mach ich falsch?
Habe mir Dein VI jetzt mal kurz angesehen, und dabei folgendes gesehen:
Kontinuierliche Messwerterfassung:
Das funktioniert
nur mit der Betriebsweise "kontinuierlich" Einen Task mit N samples in einer Schleife immer wieder neu starten, ergibt
keine kontinuierliche Betriebsart. Es ist so, daß Stop und Start dann nicht lückenlos aufeinander folgen, da.h. es gehen immer Samples verloren.
Es ist unbedingt zu empfehlen, an DAQmxRead einen
Wert für die Anzahl der Samples anzuschließen (und - der Vollständigkeit halber - in die Erfassungsschleife kein Wait). Macht man das nicht, so wird immer ohne zu warten alles was zufällig im Buffer ist gelesen. Die Schleife läft mit maximaler Geschwindigkeit, und die Anzahl der gelesenen Werte ist jedesmal zufällig - davon abhängig was es in der Schleife sonst noch zu tun gibt.
Es sei auch noch erwähnt: In der Betriebweise "kontinierlich" ist der Eingang "Anzahl der Samples" im Timing-VI umfunktioniert, siehe Hilfe. Damit legt man die Größe des Buffers fest.
Braucht man das "Start"-VI"? Meistens nicht, wenn es fehlt, wird beim ersten Lesevorgang gestartet. Wichtig ist es aber z.B, wenn man AI-und AO-Tasks miteinander synchronisieren muß. Es kann auch sein, wie hier bei Dir, daß bei geschickter Platzierung des Start-VI etwas weniger Lücke zwischen Stop und nächstem Start ist. Aber dann zu glauben, die Datenerfassung wäre kontinuierlich, ist trotzdem eine Illusion.