27.08.2009, 15:00
Beitrag #1
|
|
|
28.08.2009, 07:47
Beitrag #2
|
olnol
LVF-Grünschnabel
Beiträge: 44
Registriert seit: Aug 2009
Studentenversion 8.6 & Vollversion 8.2
-
de
56412
Deutschland
|
mit 20kS/s abgetastes Signal darstellen
28 Aufrufe und wirklich keiner kann mir helfen?
|
|
|
28.08.2009, 08:07
(Dieser Beitrag wurde zuletzt bearbeitet: 28.08.2009 08:09 von chrissyPu.)
Beitrag #3
|
chrissyPu
LVF-Stammgast
Beiträge: 467
Registriert seit: Jun 2006
2014 PDS
2006
DE_EN
64283
Deutschland
|
mit 20kS/s abgetastes Signal darstellen
Hi,
könnte es sein, dass Deiner Schleife ein Timing fehlt? Wie es für mich aussieht (bin nicht so der DAQmx-Nutzer) läuft die durch und wenn alles abgearbeitet ist, wird halt ein Wert von Deiner Karte gesampled. Dann wieder von vorne - ohne Puffer in der Karte (den Du wahrscheinlich nicht hast, weil du Echtzeit-Anzeigen haben willst) ist das nicht deterministisch und du greifst irgendeinen Wert ab, den Du dann in der While-Schleife manuell auf 20 kHz Abtastrate setzt. So du nur einen Wert vergisst, ist Deine Anzeige damit eher falsch als richtig.
Vorschlag: Da für das menschliche Auge ein Update mit 5 Hz eigentlich ausreichend ist: Puffer doch mal 1000, 2000 Werte in der Karte (je nachdem, was die so kann) und lies diese als Block aus und aktualisier damit dann Deine Anzeige. Das ist auf dem Hostrechner auch ressourcensparender als dauernd abzufragen und den Time lag kannst du wahrscheinlich verschmerzen...
Was auch noch ein problem sein könnte ist, dass Zugriffe auf das Frontpanel mehr Rechenleistung brauchen als wenn ich im BD was hin und her schiebe. Auch aus diesen Gründen ist ein Puffern der Daten, bevor man sie anzeigen lässt, keine schlechte Idee...
Viel Erfolg,
ch
PS Da die meisten hier m.E. doch ehr zu den beruflichen LV-Nutzern gehören, sollte man die Nacht nicht zur Antwortzeit hinzuzählen.
Einen ganzen Tag auf die Antwort warten finde ich ehrlich gesagt nicht zu viel verlangt...
|
|
|
28.08.2009, 09:45
Beitrag #4
|
A.Berndsen
LVF-Team
Beiträge: 2.437
Registriert seit: Feb 2005
8.2.1 - 2011
2004
DE
724xx
Deutschland
|
mit 20kS/s abgetastes Signal darstellen
' schrieb:28 Aufrufe und wirklich keiner kann mir helfen?
Ein Moderator liest Deine Frage auch nur mal um zu sehen, ob alles mit Deinem Beitrag ok ist.
Und jeder opfert hier freiwillig Zeit, um sich mit einer Frage auseinander zu setzen. Das ist aber noch keine Verpflichtung zu einer Antwort.
Schau mal das Beispiel an. Damit kommst Du selber auf die Lösung.
graph_erstellen.vi (Größe: 17,8 KB / Downloads: 291)
Grüße
Andreas
|
|
|
28.08.2009, 10:24
(Dieser Beitrag wurde zuletzt bearbeitet: 28.08.2009 10:29 von olnol.)
Beitrag #5
|
olnol
LVF-Grünschnabel
Beiträge: 44
Registriert seit: Aug 2009
Studentenversion 8.6 & Vollversion 8.2
-
de
56412
Deutschland
|
mit 20kS/s abgetastes Signal darstellen
Zitat:könnte es sein, dass Deiner Schleife ein Timing fehlt? Wie es für mich aussieht (bin nicht so der DAQmx-Nutzer) läuft die durch und wenn alles abgearbeitet ist, wird halt ein Wert von Deiner Karte gesampled. Dann wieder von vorne - ohne Puffer in der Karte (den Du wahrscheinlich nicht hast, weil du Echtzeit-Anzeigen haben willst) ist das nicht deterministisch und du greifst irgendeinen Wert ab, den Du dann in der While-Schleife manuell auf 20 kHz Abtastrate setzt.
Also ich stelle über mein TimingVi ausserhalb der WhileSchleife eine kontinuierliche Datenerfassung mit einer Abtastrate von 20kS/s ein. In meiner While-Schleife lese ich dann pro Durchlauf immer einen Sample aus dem Puffer meiner Karte. Aber ich lese doch nicht irgendeinen Wert mit dieser Methode aus, sondern doch eig nach der Reihenfolge (FIFO) oder habe ich da was falsch verstanden??
Das mit dem Auslesen mehrerer Samples gleichzeitig stellt sich einwenig schwierig da. Und zwar muss ich jeden Abtastwert einzeln verarbeiten.
Zitat:Schau mal das Beispiel an. Damit kommst Du selber auf die Lösung.
ich hab hier im mom leider nur V8.2
PS: sorry für mein Drängeln
|
|
|
28.08.2009, 12:22
Beitrag #6
|
|
|
28.08.2009, 12:33
Beitrag #7
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
mit 20kS/s abgetastes Signal darstellen
Drängeln hat hier den blöden Nebeneffekt, dass Du (bzw. jeder der drängelt) unter Umständen einfach nicht mehr beachtet wird.
Gruß Markus
' schrieb:PS: sorry für mein Drängeln
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
04.09.2009, 09:52
Beitrag #8
|
johannes_r
LVF-Gelegenheitsschreiber
Beiträge: 67
Registriert seit: Apr 2009
LV2010/2009/8.6.1...
2010
EN
97450
Deutschland
|
mit 20kS/s abgetastes Signal darstellen
Ich bin zwar auch kein wirklicher Experte aber ich bin der Meinung, dass du mit deinen Einstellungen eine Fehlermeldung bekommen würdest wenn du deinen Fehlerausgang des DAQmx read mit deinem Abbruchsymbol der while Schleife verbindest. Wenn du einen Windows rechner hast und die while Schleife nicht getaktet ist dann läuft sie so schnell sie kann -->hohe cpu auslast. Und außerdem wird sie glaub ich eh nicht mit 20kHz laufen. Bei Windows vielleicht etwas über 1kHz und das nicht deterministisch. Du hast schon recht mit dem FIFO, aber der Speicher auf der Karte ist auch begrenzt und wenn du zu langsam ausliest ist halt nun irgendwann mal der Speicher voll. Dann gehen Samples verloren und du bekommst eine Fehlermeldung...
Also entweder mehrere Samples auslesen oder es geht nur ca 1kHz Samplerate...
Wie gesagt ich bin nicht so erfahren wie manch anderer hier, aber zumindest müsste etwas wahres dabei sein
gruß johannes
|
|
|
04.09.2009, 13:25
Beitrag #9
|
|
|
| |