LabVIEWForum.de
Darstellen eines definierten Bereiches in einem XY-Graphen in einer laufenden Messung - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: Darstellen eines definierten Bereiches in einem XY-Graphen in einer laufenden Messung (/Thread-Darstellen-eines-definierten-Bereiches-in-einem-XY-Graphen-in-einer-laufenden-Messung)



Darstellen eines definierten Bereiches in einem XY-Graphen in einer laufenden Messung - Poepsken - 15.03.2016 11:04

Hallo zusammen,
Ich bin ein absoluter Neuling in Sachen LabView. Von daher bitte ich um Verständnis, wenn ich mich an manchen Stellen etwas unpräzise oder falsch ausdrücke Hmm.

Zu meinem Projekt:
Ich möchte gerne 3 Strom-Signale einlesen (1x Temperatur und 2x Druck). Die Abtastfrequenz möchte ich dabei gerne wie diverse andere Inhalte (Kanal-Name etc.) vor jeder Messung einstellen können. Die Messungen dauern bis zu 40 Minuten.
Innerhalb der Messungen sollen die aktuellen Werte (inklusive Zeitstempel) in einem Diagramm angezeigt werden. Es ist wichtig dass dieses in Echtzeit geschieht, also stets die aktuellen Werte in der laufenden Messung dargestellt werden.

Bis dahin konnte ich das ganze für den ersten Messkanal (Temperatur), dank diversen Internet-Anleitungen und vielen, in diesem Forum niedergeschriebenen Beiträgen realisieren. (Siehe Anhang) Für die fehlenden Kanäle (2x Druck) würde ich das ganze später identisch umsetzen.

Nun zu meinen konkreten Problemstellungen:
  1. Wie kann ich es realisieren, dass in meinem XY-Graph mit Zeitbezug, immer nur die letzten fünf Minuten/ Bzw. letzten 10 % der Daten, als „Historie“ angezeigt werden? Bei einer 40 minütigen Messung verliert das Diagramm stark an Aussagekraft. Daher würde ich gerne nur die vergangenen 5 Minuten in dem XY Graphen darstellen.
  2. Kann es Probleme verursachen, das Schieberegister mit so vielen Messwerten zu füllen, falls ja, wie sieht eine sinnvolle Variante aus.
  3. Wie man bestimmt bis hier herauslesen konnte, bin ich wirklich ein blutiger Anfänger2hands! Daraus ergibt sich meine letzte Fragestellung:
    Ist die Realisierung bis hierhin soweit sinnvoll? Gibt es ev. bessere / elegantere Wege, um das aufgeführte Ziel zu erreichen?

Als kleiner Ausblick:
Auf Dauer sollen die Werte der gesamten Messung inkl. Zeitstempel noch in einer Excel Liste abgespeichert werden. (Davon bin ich derzeit jedoch noch weit entfernt)Cool

Vielen Dank für die Hilfe im Voraus!!!!!




[attachment=55466][attachment=55467][attachment=55465]


RE: Darstellen eines definierten Bereiches in einem XY-Graphen in einer laufenden Messung - GerdW - 15.03.2016 11:17

Hallo Poepsken,

Zitat:1. Daher würde ich gerne nur die vergangenen 5 Minuten in dem XY Graphen darstellen.
Ein Graph zeigt exakt die Daten an, die du per Draht bereitstellst.
Logische Konsequenz: Wenn du also nur die letzten 5Min anzeigen willst, solltest du hier auch nur die Daten der letzten 5Min an den Graph weiterleiten. Tipp dazu: ArraySubset…

2. Ja. Unbegrenzt wachsende Arrays sind immer ein Problem…

3. Sieht doch schon nett aus…
- wenn man mehrere DAQmx-Kanäle anlegt, die alle die selben Einstellungen nutzen, kann man sie in einem Rutsch anlegen, indem man die Kanalangabe entsprechend wählt…
- man kann beim Thermometer eine numerische Anzeige anzeigen lassen, da benötigt man keinen zweiten Indicator anlegen…


RE: Darstellen eines definierten Bereiches in einem XY-Graphen in einer laufenden Messung - NoWay - 16.03.2016 08:16

(15.03.2016 11:04 )Poepsken schrieb:  Als kleiner Ausblick:
Auf Dauer sollen die Werte der gesamten Messung inkl. Zeitstempel noch in einer Excel Liste abgespeichert werden. (Davon bin ich derzeit jedoch noch weit entfernt)Cool
Bist du nicht. Das ist im Grunde ziemlich einfach, da Labview dir hierfür schon alles bereitstellt, was du brauchst: http://zone.ni.com/reference/en-XX/help/371361J-01/glang/write_to_spreadsheet_file/
Du musst lediglich deine Messdaten als Array an besagtes VI anhängen. Pfad noch angeben und ggf. deine Zeitstempel mit ins Array packen. Im Großen und Ganzen war es das dann auch schon. Jenachdem wieviele Messdaten du speichern willst, empfiehlt es sich, diese päckchenweise wegzuschreiben.


RE: Darstellen eines definierten Bereiches in einem XY-Graphen in einer laufenden Messung - Poepsken - 16.03.2016 11:31

Besten Dank für die Antworten.

Ich werde ausprobieren die beschriebenen Punkte einzubinden und berichte dann die Tage von den ErgebnissenBig Grin


RE: Darstellen eines definierten Bereiches in einem XY-Graphen in einer laufenden Messung - Poepsken - 22.03.2016 16:41

Ich konnte mitlerweile die Änderungen in mein Programm einfließen lassen.
Mein ursprüngliches Problem wurde gelöst.
Ich habe der Vollständigkeit halber das entsprechende Programm angefügt.


Vielen Dank !!!


RE: Darstellen eines definierten Bereiches in einem XY-Graphen in einer laufenden Messung - Lucki - 23.03.2016 09:11

Habe das Progr. kurz angeschaut. Was mir gleich auffiel: In der Schleife mit der verstrichenen Zeit fehlt ein Wait. So läuft die Schleife quasi unendlich schnell, was zu erhöhter CPU-Belastung führt. Überzeuge Dich selbst: Task Manager --> Leistung


RE: Darstellen eines definierten Bereiches in einem XY-Graphen in einer laufenden Messung - Poepsken - 23.03.2016 15:06

OK, dann werde ich das noch entsprechend ändern...
Wie muss ich mir das denn vorstellen?
Ich taste mein Messsignal ja mit 1000 Hz ab und lese zum Beispiel 1000 Werte auf einmal ein. Habe eigentlich gedacht das ich dann jede Sekunde einen Schleifendurchlauf habe.
Anscheinend ist das ja dann nicht der Fall Big Grin
Wenn ich jetzt durch einen Timer den Schleifendurchlauf auf z.B 500ms stelle. Wird dann der Block "DAQmx-lesen" nur jedes 2. mal ausgeführt oder bestehen die 1000 eingelesenden Werte dann aus 500 "alten" und 500 "neuen" Werten ?

Vielen Dank und viele Grüße


RE: Darstellen eines definierten Bereiches in einem XY-Graphen in einer laufenden Messung - Lucki - 23.03.2016 15:49

(23.03.2016 15:06 )Poepsken schrieb:  Ich taste mein Messsignal ja mit 1000 Hz ab und lese zum Beispiel 1000 Werte auf einmal ein. Habe eigentlich gedacht das ich dann jede Sekunde einen Schleifendurchlauf habe.
Anscheinend ist das ja dann nicht der Fall Big Grin
Genau so muss es sein. Ein Timer (Wait) hat in der Schleife nichts zu suchen. Hast ja auch keinen drin, denkst aber darüber nach. Und: Der Datenpuffer muß natürlch größer sein als die auf einmal gelesene Samplezahl. Beachte die Hilfe zu "Sample-Takt" : Im cont-Modus ist der Eingang "Samples per Kanal" umfunktioniert!! Er sollte in der Regel unangeschlossen bleiben!