LabVIEWForum.de
1D-Arrays in einem Chart-Diagramm darstellen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: 1D-Arrays in einem Chart-Diagramm darstellen (/Thread-1D-Arrays-in-einem-Chart-Diagramm-darstellen)



1D-Arrays in einem Chart-Diagramm darstellen - EinVolvic - 11.05.2017 06:32

Hallo miteinander,

dieses Forum hat mir bei meiner Einarbeitung in LabView sehr geholfen, wirklich eine tolle Sache.Big Grin

Mich beschäftigt seit einigen Tagen ein Problem bei der Darstellung von zwei 1D-Arrays. Und zwar messe ich mit einem DAQ-System Werte, die in einem 2D-Array übergeben werden. Dabei entspricht jede Zeile einem DAQ-Eingang (Channel) und jede Spalte ein Abtastwert (Sample). Ich hole immer 20 Samples von den 24 Eingängen ab, sodass ich ein 20*24-Array erhalte. Diese werden dann in verschiedenen Diagrammen zur Darstellung gebracht.
Wenn ich ein 1D-Array an ein Waveform-Chart anschließe, klappt auch die Darstellung, er stellt die 20 Werte hintereinander dar. Nun habe ich versucht zwei 1D-Arrays in einem Diagramm darzustellen. Ich habe sie über die Funktion "Build Array" miteinander verknüpft. Das klappt jedoch nicht ganz, er interpretiert mir sie nicht als zwei Signale, sondern als viel mehr. Ich weiß, dass man für einzelne Werte die "Cluster"-Funktion nutzt, aber was verwendet man bei 1D-Arrays? Ich habe an ein xy-Diagramm gedacht, jedoch müsste ich dann immer eine x-Skala erzeugen, oder?

Ich verwende übrigens für das Messen zwei Messmodi, die mir entweder einen Sample pro Channel (1D-Array) oder mehrere Samples pro Channel (2D-Array) ausgibt. Ich würde für die Darstellung bei beiden Messmodi dieselben (Chart-) Diagramme verwenden.

Vielen Dank und schöne Grüße
EinVolvic


RE: 1D-Arrays in einem Chart-Diagramm darstellen - 83DM - 11.05.2017 06:49

Willst du einen Graphen oder ein Diagramm nutzen?

Für beides findest du in der LabView Hilfe die passenden Beispiele:
Für Graphen: Waveform Graph Data Types.vi
Für Diagramme: Clearing Waveform Charts.vi

Wenn du mehrere 1D Arrays mittels "Build Array" zusammenführst und sie in einem Diagramm anzeigen willst, transponiere das 2D Array vorher noch mal.


RE: 1D-Arrays in einem Chart-Diagramm darstellen - GerdW - 11.05.2017 07:44

Hallo Sprudelwasserstilles Wasser,

herzlich willkommen im Forum!

Zitat:Das klappt jedoch nicht ganz, er interpretiert mir sie nicht als zwei Signale, sondern als viel mehr.
Wenn du pro 1D-Array 20 Werte hast, dann wirst du wohl auch 20 Plots erzeugt haben… Big Grin
Lösung, wie schon genannt: Array transponieren.
Oder: Rechtsklick auf den Chart, dort das Transponieren aktivieren.

Zitat:Ich würde für die Darstellung bei beiden Messmodi dieselben (Chart-) Diagramme verwenden.
EInfache Lösung: immer mit 2D-Arrays arbeiten. Dazu kann man z.B. per BuildArray aus den 1D-Arrays ein 2D-Array mit nur einer Zeile machen…


RE: 1D-Arrays in einem Chart-Diagramm darstellen - EinVolvic - 11.05.2017 15:24

Hallo 83DM und GerdW,

Zitat:Hallo Sprudelwasserstilles Wasser,

herzlich willkommen im Forum!

Haha, höre ich zum ersten Mal, danke!

Danke für eure schnelle Antwort.

Zitat:Willst du einen Graphen oder ein Diagramm nutzen?
Ich möchte, dass die Daten während der Ausführung aktualisiert werden, also ein Diagramm denke ich.

Zitat:EInfache Lösung: immer mit 2D-Arrays arbeiten. Dazu kann man z.B. per BuildArray aus den 1D-Arrays ein 2D-Array mit nur einer Zeile machen…
Das verstehe ich nicht ganz. Wenn mein 2D-Array nur eine Zeile hat, ist es dann nicht ein 1D-Array?


Das Transponieren funktioniert prima. Jedoch habe ich dann wieder das Problem, dass die Darstellung mehrerer Kanäle im ersten Messmodus nicht klappt. Dort erhalte ich nur einen Wert pro Kanal und wenn ich daraus ein Array baue, ist es immer noch ein 1D-Array. Ein 1D-Array zu transponieren geht ja leider nicht.Blush


RE: 1D-Arrays in einem Chart-Diagramm darstellen - GerdW - 11.05.2017 15:46

Hallo Volvic,

Zitat:Ich möchte, dass die Daten während der Ausführung aktualisiert werden, also ein Diagramm denke ich.
Was hat die Anzeige mit der Datenaktualisierung zu tun? Wenn du THINK DATAFLOW bedenkst, erstmal überhaupt nichts…
Was du sicherlich meinst, ist die Art und Weise, wie die Daten dargestellt werden: ein Chart hat eine eingebaute Historie, ein Graph nicht.
Du kannst beides vewenden, müsstest beim Graph aber selbst die Historie deiner Daten verwalten!

Zitat:Wenn mein 2D-Array nur eine Zeile hat, ist es dann nicht ein 1D-Array?
Nein.
Wenn dein 2D-Array nur eine Zeile hat, dann hat es eben 1×N Elemente (bei N Spalten).
Ein 1D-Array hat nur eine Dimension und die ist dann eben N…

Zitat:Dort erhalte ich nur einen Wert pro Kanal und wenn ich daraus ein Array baue, ist es immer noch ein 1D-Array.
Wie ich oben schon schrieb, hindert dich doch niemand daran, aus einem 1D-Array ein 2D-Array zu bauen. Einfach einmal mehr BuildArray verwenden…

Zitat:Ein 1D-Array zu transponieren geht ja leider nicht.
Selbst dafür gibt es in LabVIEW eine Funktion, siehe Anhang!
(Die ist aber aus verständlichen Gründen nicht öffentlich verfügbar… Big Grin)


RE: 1D-Arrays in einem Chart-Diagramm darstellen - EinVolvic - 12.05.2017 14:29

Hallo GerdW,

ich habe nicht genau gewusst auf was du hinaus wolltest mit deiner Graph-Diagramm Frage. Ich habe mich in diesem Artikel NI Graph und Diagramm an dem Satzorientiert:
Zitat:Beide Schleifen erzeugen die gleiche Ausgabe, wobei der Signalverlaufsgraph nach dem Erfassen aller Daten einmal aktualisiert wird. Das Signalverlaufsdiagramm hingegen wird während der Ausführung des Programms aktualisiert.
Also ich habe und werde ein Diagramm verwenden.

Mir war jetzt nicht genau klar auf was sich die Zahl bei der Bezeichung "2D-Array" bezieht. Ich habe es immer für die Anzahl der Zeilen gehalten (eine Zeile gleich eine Achse).

Ich habe nun wie von dir vorgeschlagen einfach die Build-Arrays hintereinander angelegt und es hat geklappt. Smile Werde mich auf jeden Fall jetzt mehr damit beschäftigen.

Vielen Dank für eure Hilfe und ein schönes Wochenende Big Grin