LabVIEWForum.de
Datenerfassung mit einer zeitgesteuerten Schleife - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Datenerfassung mit einer zeitgesteuerten Schleife (/Thread-Datenerfassung-mit-einer-zeitgesteuerten-Schleife)

Seiten: 1 2


Datenerfassung mit einer zeitgesteuerten Schleife - DM_94 - 18.07.2018 11:32

Hallo liebes Forum,

anbei sende ich euch mein .VI zur Darstellung von Messdaten (quasi Lievdarstellung).

Nun meine Frage:

Wie man an dem numerischen Elemnt erkennen kann ist in diesem Beispiel meine Messzeit 30 Sekunden. Nun möchte ich das Signal sehr schnell abtasten und es jedoch als Verlauf dargestellt haben der von 0 bis 30 läuft. Kann ich den Verlauf auch über die Zeit darstellen und nicht über die Iterationsschritte, die die Schleife macht?

Grüße
DM_94


RE: Datenerfassung mit einer zeitgesteuerten Schleife - GerdW - 18.07.2018 12:03

Hallo DM,

ja klar!

So gehts ganz einfach (ich setze voraus, dass im DAQmxTask ein Timing definiert ist):
[attachment=59277]

Noch einfach wird's, wenn man einfach ausrechnet, wieviele Samples man über 30 Sekunden mit gegebener Samplerate einlesen will und dann einfach die (dann FOR-)Schleife entsprechend oft iterieren lässt. Das Timing wird von DAQmx übernommen!
(Das ist auch ein Grund, warum eine TWL hier vollkommen überflüssig ist!)


RE: Datenerfassung mit einer zeitgesteuerten Schleife - RMR - 18.07.2018 12:08

In diesem einfachen Fall kannst du die Zeitskalierung wie du sie gerade nutzt entsprechend skalieren.

Für ein dt von zum zB 100ms wäre das ein Skalierungsfaktor von 0,1. Skalieren kannst du via Rechtsklick / Eigenschaften / Skalierungsfaktor.
Die Skalierung kannst du so an deine Iterationsdelays anpassen.

Tipp: Diagramm löschen geht auch via Rechtsklick / Datenoperationen / Diagramm löschen Smile


edit: OK, Gerd war mal wieder schneller. Smile


RE: Datenerfassung mit einer zeitgesteuerten Schleife - DM_94 - 18.07.2018 13:09

Danke euch Beiden für die schnellen Antworten Smile

Ich habe es jetz mit der For-Schleife programmiert, dennoch werden mir noch die Schritte angezeigt.

Habt ihr noch einen Tipp an was das liegen könnte?

Grüße
DM


RE: Datenerfassung mit einer zeitgesteuerten Schleife - GerdW - 18.07.2018 13:56

Hallo DM,

eine Aussage wird einfacher, wenn du mal dein VI (und nicht nur ein Bild) anhängst…


RE: Datenerfassung mit einer zeitgesteuerten Schleife - DM_94 - 18.07.2018 14:19

Sorry

Anbei findest mein .VI!

Wüsstet ihr auch wie man es hinbekommt das sich die x-Achse (Zeit) nicht bewegt sondern von (in diesem Beispiel) 0 bis 3 geht und die Daten in diesem Interall dargestellt werden?

Grüße
DM


RE: Datenerfassung mit einer zeitgesteuerten Schleife - GerdW - 18.07.2018 14:31

Hallo DM,

Zitat:dennoch werden mir noch die Schritte angezeigt.
Weil du nirgends etwas mit "Zeit" eingestellt hast und auch keine Waveforms verwendest…
Wie oben von RMR schon geschrieben: einfach die Skalierung der X-Achse anpassen, in deinem Fall mit einem Multiplikator von 0.001 (entspricht 1ms oder 1/1kHz)!

Zitat:Wüsstet ihr auch wie man es hinbekommt das sich die x-Achse (Zeit) nicht bewegt sondern von (in diesem Beispiel) 0 bis 3 geht und die Daten in diesem Interall dargestellt werden?
Ja.
Einfach die Autoskalierung ausschalten und Min/Max der X-Achse vorgeben! Und natürlich die Chart-Historienlänge vorher anpassen!


RE: Datenerfassung mit einer zeitgesteuerten Schleife - DM_94 - 19.07.2018 09:36

Hallo Leute,

sorry das ich nochmal was Frage Confused

Das Programm hat für einen gemessenen Kanal perfekt mit der For-Schleife perfekt funktioniert. Die Zeit wurde richtig angzeigt, es wurde richtig abgetastet, usw..
Nun habe ich heute probiert einen zweiten Kanal in einem Task mit dem anderen zu schalten und habe das gleiche Ergbnis wie mit einem erhofft.

Aber war leider nicht so. Abgelehnt

Kann mal jemand prüfen ob das angehängte VI so richtig ist, und man so zwei unterschiedliche Messeingänge testen kann?

Grüße
DM
Sorry hier das .Vi


RE: Datenerfassung mit einer zeitgesteuerten Schleife - GerdW - 19.07.2018 10:04

Hallo DM,

Anmerkungen zum VI:
- Beim DAQmxTiming verwendest du "Kontinuierlich", gibst abeer trotzdem "Samples per channel" vor: hast du die Anleitung zur Funktion gelesen? "Samples per channel" besser von DAQmx selbst handhaben lassen…
- Du versuchst jetzt 30s an Daten einzulesen, statt vorher nur 3s…
- du gibst ein 1D-Array mit Daten an den Chart: hast du dir mal die Kontexthilfe dazu angeschaut, um zu erkennen, was der Chart daraus macht? Wenn du 2 Signale anzeigen lassen willst, erwartet der Chart einen anderen Datentyp!

Und etwas grundsätzliches:
Das Abfragen von Einzelwerten von einem DAQmx-Gerät ist nur dann sinnvoll, wenn man mit Sampleraten <100Hz arbeitet. Darüber sollte man immer mit dem "N Samples"-Modus arbeiten: empfohlen werden Datenblöcke, die etwa 0.1s entsprechen, d.h. Sample to read = Samplerate/10.
Grundsatz 2: Das Updaten von Anzeigen mit 1000Hz ist wohl kaum sinnvoll. Ein typischer LED-Monitor schafft nur 60Hz, das menschliche Auge etwa 30Hz…


RE: Datenerfassung mit einer zeitgesteuerten Schleife - DM_94 - 19.07.2018 10:39

Hallo Gerd,

Zitat:Beim DAQmxTiming verwendest du "Kontinuierlich", gibst abeer trotzdem "Samples per channel" vor: hast du die Anleitung zur Funktion gelesen? "Samples per channel" besser von DAQmx selbst handhaben lassen…

Das "Kontinuerlich" hatte ich noch drin vom rumprobieren, sorry dafür. Ich will im endgültigen Programm die Messzeit eintippen und über die Rate die Samples berechnen die ausgelesen werden müssen. Über die Messzeit wird zudem das Minimum und das Maximum der x-Achse des Verlaufs festgelegt um solch einen Verlauf zu erzeugen nach dem ich gestern in diesem Threat nachgefragt habe.

Wenn ich den DAQmx das selbst handhaben lasse stelle ich die "Zeit" über die Schleifendurchläufe fest?

Zitat:Du versuchst jetzt 30s an Daten einzulesen, statt vorher nur 3s…

Ja war nur ein Beispiel die 3 Sekunden, die Messungen können von der Zeit her variieren. Daher habe ich es hier mal mit 30 Sekunden probiert.

Zitat:du gibst ein 1D-Array mit Daten an den Chart: hast du dir mal die Kontexthilfe dazu angeschaut, um zu erkennen, was der Chart daraus macht? Wenn du 2 Signale anzeigen lassen willst, erwartet der Chart einen anderen Datentyp!

Danke für diese Info, habe es direkt germekt als ich den Frage abgesendet habe, dass es überhaupt keinen Sinn mach ein 1D-Array auszugeben wenn ich zwei Kanäle habe Big Grin Wall

Würdest du den Aufbau der Messung grundsätzlich auch so machen?

Aber das Problem mit dem Nichts anzeigen im verlauf besteht bei mir noch immer ! Huh

Grüße
DM