09.02.2017, 11:14
Hallo zusammen,
ich habe eine Verständisfrage, wie im angehängten VI die Schleifendauer zustande kommt.
Zur Funktion des VI: Eine Wertetabelle enthält eine Periode eines Testsignals. Dieses soll in einer Endlosschleife auf einen Analogausgang gegeben werden, wobei bei jedem Schleifendurchgang die "Ausgangsfrequenz Testsignal" und die Amplitude geändert werden kann. Das "Arbitrary wave.vi" staucht oder streckt dabei diese Wertetabelle und gibt ein Array mit entsprechender Länge aus. Die Ausgangssignal soll mit 50 kS/s getaktet sein.
Beispiel: Bei gewünschter Ausgangsfrequenz von 60 Hz des Testsignals und 50000 kS/s quetscht das "Arbitrary wave.vi" ja das Testsignal auf 833 samples und schickt sie an DAQmx(Write). Da ja mit "Do not allow regeneration" gearbeitet wird, werden nach meinem Verständnis diese 833 samples abgearbeitet und im nächsten Schleifendurchgang die nächsten 833 abgeholt (Sofern man nicht eine andere gewünschte Ausgangsfrequenz einstellt).
Nun müsste doch die Schleife exakt mit 60 Hz, also 16,6 ms laufen oder? Tut sie aber nicht, wie im angehängten Bild "Log_Schleifendauer.jpg" zu sehen ist. Das schwankt zwischen etwa 16 und 18.
Wie kann das sein? Bei 18 ms müsste doch im Ausgangssignal eine "Lücke" sein oder?
Kann man irgendwie sicherstellen dass die Schleife diese Zeit einhält?
Hintergrund ist, dass ich der Schleife später noch eine Messung hinzufügen möchte. Und diese Messung soll quasi die Reaktion eines Systems auf genau eine Periode des Ausgangssignals aufzeichnen. Wenn nun diese Schleifendauer schwankt habe ich die Befürchtung dass mal zu kurz und mal zu lang messe...
Vielen Dank schon im Voraus für Antworten!
[attachment=57303]
ich habe eine Verständisfrage, wie im angehängten VI die Schleifendauer zustande kommt.
Zur Funktion des VI: Eine Wertetabelle enthält eine Periode eines Testsignals. Dieses soll in einer Endlosschleife auf einen Analogausgang gegeben werden, wobei bei jedem Schleifendurchgang die "Ausgangsfrequenz Testsignal" und die Amplitude geändert werden kann. Das "Arbitrary wave.vi" staucht oder streckt dabei diese Wertetabelle und gibt ein Array mit entsprechender Länge aus. Die Ausgangssignal soll mit 50 kS/s getaktet sein.
Beispiel: Bei gewünschter Ausgangsfrequenz von 60 Hz des Testsignals und 50000 kS/s quetscht das "Arbitrary wave.vi" ja das Testsignal auf 833 samples und schickt sie an DAQmx(Write). Da ja mit "Do not allow regeneration" gearbeitet wird, werden nach meinem Verständnis diese 833 samples abgearbeitet und im nächsten Schleifendurchgang die nächsten 833 abgeholt (Sofern man nicht eine andere gewünschte Ausgangsfrequenz einstellt).
Nun müsste doch die Schleife exakt mit 60 Hz, also 16,6 ms laufen oder? Tut sie aber nicht, wie im angehängten Bild "Log_Schleifendauer.jpg" zu sehen ist. Das schwankt zwischen etwa 16 und 18.
Wie kann das sein? Bei 18 ms müsste doch im Ausgangssignal eine "Lücke" sein oder?
Kann man irgendwie sicherstellen dass die Schleife diese Zeit einhält?
Hintergrund ist, dass ich der Schleife später noch eine Messung hinzufügen möchte. Und diese Messung soll quasi die Reaktion eines Systems auf genau eine Periode des Ausgangssignals aufzeichnen. Wenn nun diese Schleifendauer schwankt habe ich die Befürchtung dass mal zu kurz und mal zu lang messe...
Vielen Dank schon im Voraus für Antworten!
[attachment=57303]