LabVIEWForum.de
Rechner zu lahm? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Rechner zu lahm? (/Thread-Rechner-zu-lahm)



Rechner zu lahm? - Mr.T - 13.12.2005 14:14

Hallo!

Gerade versuche ich mit dem DAQ-Assistenten ein Analogsignal zu messen. Das klappt.
Ein Spannungseingang wird mit 20000Hz abgetastet und ich gebe das Sammeln von 100 Werten vor, aus denen ich anschließend den Mittelwert bilde. Super Sache soweit.
Jetzt möchte ich aber, dass dieses Messen über eine Dauer von ca. 20 sekunden stattfindet. In dieser Zeit wird die zu messende Spannung von anfangs 0V auf 10V steigen. Das klappt auch noch. Diese Spannung stellt eine Positon einer lineareinheit dar.

Dann fiel es mir plötzlich auf! In dieser Zeit wird die while-Schleife nur ca. 300 mal durchlaufen. Das sind viel zu wenig Messwerte (Schleifendurchläufe, wegen der anschließenden Mittelung). Woran kann das liegen? Oder besser gesagt: wie bekomme ich mehr Messwerte (Schleifendurchläufe)?

Rechnerisch ist mir das auch noch nicht nachzuvollziehen:

20000Hz abtasten - nur 100 Werte zu messen ergibt: 100 Werte in 5 Millisekunden, also ein gemittelter Wert (ein Schleifendurchlauf).

Daraus folgt: In 20 Sekunden müssen 4000 (bereits gemittelte) Messwerte zur Verfügung stehen.

Jetzt sagen wir mal der Rechner hat neben der Erfassung noch etwas mehr zu tun. Da müssen doch wenigstens 1000 Schleifendurchläufe möglich sein, oder?

Wenn das jetzt zu viel Text war, sagt bescheid, dann hänge ich ein kleines VI an.

Danke vorerst.


Rechner zu lahm? - MrSieb - 13.12.2005 14:26

DAQ Assisten dh du benutz ein Express VI ?

20kHz ? is es notwendig das siganl so schnell abzutasten?
würde bedeuten das veränderungen mit bis zu 10kHz auftreten.

häng mal vi an :-)


Rechner zu lahm? - Lanos - 13.12.2005 14:35

Hast Du sowas wie 'wait' oder 'wait until next' in deinem Aufbau?


Rechner zu lahm? - Mr.T - 13.12.2005 14:44

Danke erstmal.

Jup - Express VI. ICh habe das auch mal mit einem selbstgebasteltem Task versucht, das Ergebnis war dasselbe.

Abtasten muß ich den eigentlich nicht so oft. Ich wollte damit nur mehr Schleifendurchläufe erzwingen - ohne Erfolg...

Gruß


Rechner zu lahm? - thomas.sandrisser - 13.12.2005 17:02

+arghs+
du darfst dich net wundern, dass deine performance so im arsch ist, wenn immer nur 1 sample liest!
dadurch oeffnest und schließt du bei jeder iteration der while schleife den task und zwingst damit deinen rechner in die knie (zudem benoetigt das oeffnen und schließen der task ca. 100-200ms, je nachdem wieviel schrott du auf deinem rechner noch parallel laufen hast!)
leg eine abtastrate fest, dann waehlst die anzahl der zu lesenden samples und die sache hat sich! dadurch brauchst die while schleife net mehr und alles ist im gruenen bereich!


Rechner zu lahm? - MrSieb - 13.12.2005 17:04

versuch mal das


Rechner zu lahm? - Mr.T - 13.12.2005 18:00

@freedive:
Kann ich verstehen - ABER: da war der Assistent nur falsch eingestellt (Siehe weiter oben im Text Abtasten mit 20kHz, 100 Samples). Das konnte mir also nicht recht weiterhelfen. Hast Du vielleicht noch eine andere Idee?
Aber den verzicht auf die While-Schleife checke ich net. Kann mit einer eingestellten Abtastrate und Samplezahl die ganze Messung von 20 Sekunden mit also 1000 aus 100 gemittelten Messwerten durchgeführt werden?
Danke

@MrSieb:
Ok, ich sehe, man sollte sich immer selber einen Task bauen. Anbei meiner - mit dem ist aber nichts anders, als oben beschrieben.
Warum ich das "Freigeben" mit in die Schleife tun muß verstehe ich nicht, sonst läüft es aber garnicht. Dein SubVi ist auf kontinuierliche Messwertaufnahme gestellt - wieso?

@all: Ich bin frischling - seht es mir nach, daß ich noch viel Erklärungsbedarf habe :roll:

Danke und Gruß


Rechner zu lahm? - thomas.sandrisser - 13.12.2005 21:18

aaah frischling :-)
dann lies dir mal das bookshelf durch :-)

LabVIEW oeffnen -> dann findest unter Hilfe den Eintrag "Search the LabVIEW Bookshelf" -> wennst das manual durch hast, weißt bissi was in LabVIEW :-)

Wennst dann noch in DAQmx fit werden willst, dann klick noch auf Start-Programme-NationalInstruments-NI-DAQ-DAQ Schnellstart...

Wenn du endliche Werte angibst, und dann eine Abtastrate waehlst und eine zugehoerige Anzahl an Samples (die wohlgemerkt pro erfassten Kanals zu verstehen ist), gibt dir der Assistent ALLE Werte gleichzeitig zurueck - du musst net pollen, du ersparst dir eine While Schleife (while-schleife nur, wennst eine kontinuierliche Erfassung laufen laesst!), und und und und und


Rechner zu lahm? - Mr.T - 14.12.2005 09:08

Ouh!

DAS hätte ich vielleicht noch sagen sollen: Der Graph soll "mitlaufen". Das heisst, eine Ausgabe aller Werte erst zu Ende der Messung soll nicht sein.

Danke aber für die Tipps.

Sag mal - ich gehe davon aus, Du hast das obige TASK.vi gesehen - wie falsch ist denn das?

Gruß


Rechner zu lahm? - thomas.sandrisser - 14.12.2005 09:21

falsch ist es grundsaetzlich net, nur der daqmx read ist net vollstaendig angeschlossen, somit liest der alle verfuegbaren werte (jedoch mind. 1 aus) -> somit laeuft die schleife ungetimet (auf grund der hohen abtastrate gibts auch kein implizites timing) -> setz einen chronographen ein, dann laeufts :-)