LabVIEWForum.de
Kontinuierliche Darstellung XY-Graph - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: Kontinuierliche Darstellung XY-Graph (/Thread-Kontinuierliche-Darstellung-XY-Graph)



Kontinuierliche Darstellung XY-Graph - Steffen.S - 25.07.2014 09:29

Hallo, ich benötige einen Denkanstoß.

Es sollen Daten, die zyklisch in einer Verbraucherschleife erfasst werden graphisch dargestellt werden.
Es kommen 440 Bytes pro Zyklus und Kanal (4 Kanäle) mit einem zugehörigen Wert (für jedes Byte), der den Weg (X-Achse) darstellt.

Als Ergebnis erhalte ich in jedem Zyklus ein Cluster (pro Kanal) aus zwei 1D-Arrays, wobei das eine Array die Y-Werte und das andere die X-Werte enthält.

Jetzt soll das ganze so dargestellt werden, dass sich alle Daten im Diagramm befinden.
Das heißt, Daten die zyklisch neu erfasst werden sollen im Diagramm angereiht werden.

Die X-Achse soll eine feste Breite haben und den neuen Daten folgen. Also wie ein Messschreiber.
Da dann alle Daten enthalten sind, soll mit der Bildlaufleiste durch die Messwerte gescrollt werden können.


Das Problem ist nun, dass ich ja im Prinzip Eigenschaften des Diagramms und des XY-Graphs benötige.
Ausserdem habe ich Probleme alle Daten (z.B. in einem Array) zu sammeln.
Ich habe auch schon überlegt die Daten zu speichern (weil das sowieso noch geschehen muss) und dann entsprechend die Datei anzeigen zu lassen.

Im Anhang einmal die Baustelle, damit man sich das ganze besser vorstellen kann.

Danke erstmal, wer es bis hierhin gelesen hat Wink
Ich bin für jede Idee dankbar!


RE: Kontinuierliche Darstellung XY-Graph - GerdW - 25.07.2014 09:46

Hallo Steffen,

gut gemeinter Rat: gehe die Links in meiner Signatur durch. Alle.
Lese alles zu Schieberegistern und RaceConditions!

Zum Bild:
- Wenn dein String 440Byte (evtl. *4 Kanäle) enthält, wieso willst du dann 440*9 Byte auswerten?
- Die lokalen Variablen "Weg" sind unnötig, ersetze sie durch ein Schieberegister!
- InsertIntoArray ist hier falsch, nimm BuildArray.

Zitat:Jetzt soll das ganze so dargestellt werden, dass sich alle Daten im Diagramm befinden.
Ein Chart hat immer nur eine begrenzte Historie. Also musst du diese Historie sehr sehr groß setzen, um wirklich "alle" Daten im Diagramm zu halten. Das kann aber sehr schnell zu einem "Out of memory" (und quasi korrupten VIs) führen!

Also besser selbst die Daten sammeln (Stichworte Schieberegister und BuildArray) und die dann in einem Graph darstellen…


RE: Kontinuierliche Darstellung XY-Graph - Steffen.S - 25.07.2014 10:05

Danke für die Tipps. Die Links in deiner Signatur sind vielleicht nicht so hilfreich, wie du immer denkst. Zu viele Informationen, die das Thema garnicht betreffen. Dennoch habe ich einen Teil davon gelesen.
Die Variablen kann man sicherlich weglassen oder auch nicht. Denn sie werden nur an dieser einen Stelle verwendet. Eine "Race Condition" sehe ich hier nicht (Variable Weg).

Zum Thema:
Eine Messung besteht aus 9 Bytes. Daraus werden 4 Words gebildet, wobei jedes Word den Messwert eines Kanals enthält.
Das letzte Byte enthält den Weg, als Anzahl von Encoderpulsen, die zwischen den Messungen entstanden sind. Diese müssen aufaddiert werden und in "Meter" umgerechnet werden.

Es wird jedes mal ein Paket aus 440 Messungen empfangen und in der dargestellten Schleife verarbeitet.

Das Problem ist nun, dass die Daten wärend des Sammelns betrachtet werden sollen.

Eine konkrete Frage noch:
Wie könnte ich denn die Daten aus der Verbrauchsschleife in ein Array schieben, dass dann stetig (mit jedem Messpaket (440 Messungen)) anwächst?