LabVIEWForum.de - Teilsamplemenge aus DAQ-Task

LabVIEWForum.de

Normale Version: Teilsamplemenge aus DAQ-Task
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Schönen guten Morgen werte Mitstreiter,

ich hab's versucht zu googeln, aber das Problem lässt sich nicht in 5 Worte fassen, daher....

Ich habe einen AnalogIn-Task mit Rate=10kSa/s und Menge=20kSa --> sprich ich nehme 2s lang Messwerte auf.
Jetzt muss ich bevor ich die Werte zur Weiterverarbeitung aufnehme, den Offsetdrift abwarten.
Hierzu nehm ich in einer Whileschleife 1000Sa des Signals auf und warte bis der Offset meine Grenze unterschreiten, funktioniert bis hier hin prima.

Zum Problem:
Wenn ich jetzt den analogen Kanal messe, bekomme ich nur noch die "Rest-Samplemenge", also das was von der Offsetmessung übrig ist.
Bsp.: benötige ich 8 Offsetmessungen bis zum einlaufen, dann befinden sich nur noch 12000Sa im Puffer. Ich hätte aber gern die 20kSa

Jetzt hab ich ne Dummymessung davor eingebaut, die zwar das gewünschte Ergebnis liefert, aber viel zu lange dauert, im beispiel quasi 1.2s.

Ich bin für jeden Ratschlag offen und hangle mich währenddessen schon mal weiter durch die PropertyNotes
Hallo MicroScoop,

du kannst doch beim DAQmx Treiber mit NSamples die Anzahl der Samples vorgeben, welche du auslesen möchtest.
(Bei der Auswahl der polymorphen Instanz).

Löst das dein Problem oder verstehe ich dein Problem falsch?

Gruß Max
Hallo Scoop,

Zitat:Problem: Wenn ich jetzt den analogen Kanal messe, bekomme ich nur noch die "Rest-Samplemenge", also das was von der Offsetmessung übrig ist.
Bsp.: benötige ich 8 Offsetmessungen bis zum einlaufen, dann befinden sich nur noch 12000Sa im Puffer. Ich hätte aber gern die 20kSa
Das Problem tritt nur auf, wenn die einen Task mit endlicher Sampleanzahl erstellst. Ein kontinuierlicher Task würde weiterhin Samples liefern - bis du selbst "Stopp!" sagst…

Also:
- AI-Task "kontinuierlich" mit gewünschter Samplerate erstellen
- in einer Schleife immer 1000S lesen
- deine Offset-Bewertung damit vornehmen
- wenn Offset dann ok ist: einfach weitere 20 Iterationen lang messen…

(Leider hast du vergessen, dein VI anzuhängen…)
(21.10.2019 10:41 )GerdW schrieb: [ -> ]Hallo Scoop,

Zitat:Problem: Wenn ich jetzt den analogen Kanal messe, bekomme ich nur noch die "Rest-Samplemenge", also das was von der Offsetmessung übrig ist.
Bsp.: benötige ich 8 Offsetmessungen bis zum einlaufen, dann befinden sich nur noch 12000Sa im Puffer. Ich hätte aber gern die 20kSa
Das Problem tritt nur auf, wenn die einen Task mit endlicher Sampleanzahl erstellst. Ein kontinuierlicher Task würde weiterhin Samples liefern - bis du selbst "Stopp!" sagst…

Also:
- AI-Task "kontinuierlich" mit gewünschter Samplerate erstellen
- in einer Schleife immer 1000S lesen
- deine Offset-Bewertung damit vornehmen
- wenn Offset dann ok ist: einfach weitere 20 Iterationen lang messen…

(Leider hast du vergessen, dein VI anzuhängen…)

Ahhh ok. Das probier ich zu erst aus. Danke
(21.10.2019 09:59 )MaxP schrieb: [ -> ]Hallo MicroScoop,

du kannst doch beim DAQmx Treiber mit NSamples die Anzahl der Samples vorgeben, welche du auslesen möchtest.
(Bei der Auswahl der polymorphen Instanz).

Löst das dein Problem oder verstehe ich dein Problem falsch?

Gruß Max

Nur solange die angegebene Samplemenge geringer als die vorhandene Samplemenge im Puffer ist.
@ Gerd:
Funktioniert im test super, im laufenden Programm jagt eine fehlermeldung die nächste. es laufen viele parallele messprozesse und ich bekomme dadurch kontinuirlich fehler auf unterschiedlichen tasks, wie "Ressource ist nicht verfügbar", "sie versuchen ... lesen nach dem letzte sample", "Ressource ist belegt", ... so in der art.

Ich probier mal weiter.
Falls Du eine geeignete DAQmx Karte im Einsatz hast, kannst Du auch einen analogen Trigger mit gewűnschter Schwelle und Richtung konfigurieren und die Daten mit definierten Pre- und Posttrigger Samplen lesen. Das wäre doch viel eleganter.

Gruß Holger
(21.10.2019 12:02 )BNT schrieb: [ -> ]Falls Du eine geeignete DAQmx Karte im Einsatz hast, kannst Du auch einen analogen Trigger mit gewűnschter Schwelle und Richtung konfigurieren und die Daten mit definierten Pre- und Posttrigger Samplen lesen. Das wäre doch viel eleganter.

Gruß Holger

Wegen solcher antworten bin ich hierBig Grin
Das schau ich mir mal an.
Referenz-URLs