LabVIEWForum.de - XY-Graph mit mehreren Plotebenen zur Laufzeit

LabVIEWForum.de

Normale Version: XY-Graph mit mehreren Plotebenen zur Laufzeit
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin moin,

ich komme nicht weiter - daher nehme ich jetzt mal den Publikumsjoker.

Ich mache eine Messreihe über mehrere Stunden und mehrere Zyklen und möchte die nun in einem XY-Graph darstellen. Dabei soll für jeden Zyklus ein eigener Plot dargestellt werden.

Das Problem: das soll nicht am Ende der Messreihe sondern währenddessen geschehen.

Ich fülle während der Messreihe eine Tabelle mit den nötigen werten:

1. Zyklus
2. Wert für die X Achse
3. Wert für die Y-Achse

Im schlimmsten Fall kann ein Zyklus nur einen Messwert enthalten. In der Regel sind das aber schon mehr – so ca. vier bis 10. Das aber nur zur Info.

Wo ich mich jetzt schwer tue und womit ich nun schon mehrere Stunden beschäftigt bin ist die Formatierung in das für den XY-Graph nötige Format – also Bündelung der Werte für X und Y und erzeugen eines Arrays für die Cluster für die einzelnen Plotebenen.
Bisher habe ich das in einer For-Schleife versucht – also Daten aus der Tabelle Zeile für Zeile durchgehen und die entsprechenden Spalten durch Indizierung verarbeiten. Dabei hänge ich schon, da der Zyklus ja die Indizierung für das Cluster-Array sein soll.

Beispieldaten:

Zyklus X-Wert Y-Wert
1 -20 100
1 -10 100
1 0 101
1 10 105
2 -20 100
2 -10 100
2 0 100
2 10 99

Die Werte kommen in einem Zeitintervall von ca. 40 Minuten. Ich muss das Array also nach jeder Messung neu erstellen – aber wie?

Gruß, Guido
Hallo Guido,

du zerlegst dein 2D-Array in Blöcke für die einzelnen Zyklen:
Code:
1 -20 100
...
1 10 105
2 -20 100
...
2 10 99

wird zu
Code:
1 -20 100
...
1 10 105

und
Code:
2 -20 100
...
2 10 99

Jetzt einfach in jedem Block die 2. und 3. Spalte indizieren und per Bundle zu einem Plot zusammensetzen (wie in der Graph-Kontexthilfe gezeigt). Die einzelnen Plots in einem Array sammeln (wie in der Kontexthilfe gezeigt)...

Wenn du damit Probleme hast:
- Link in meiner Signatur
- es gibt hier diverse Threads, in denen es um Filtern von Array nach eigenen Kriterien geht
- es gibt auch andere Threads, in denen es um Grpahen und Plots geht...
Hallo Gerd,

ich habe es jetzt "erst mal" gelöst - aber so richtig zufrieden bin ich damit nicht. Aber immerhin - es funktioniert.

Besten Dank!
Hallo Guido,

wer bringt den Anfängern eigentlich immer bei, man müsse InsertIntoArray verwenden, wo ein einfaches BuildArray ausreichen würde? Hmm

Siehe Anhang, mit BuildArray, ohne lokale Variablen, mit Konstanten statt Controls...
(01.11.2012 21:19 )GerdW schrieb: [ -> ]wer bringt den Anfängern eigentlich immer bei, man müsse InsertIntoArray verwenden, wo ein einfaches BuildArray ausreichen würde? Hmm

Eine gute Frage, die ich leider nicht wirklich beantworten kann. Ich komme aus der Assembler / C / Basic Programmierung und da wird ein Array erst einmal erstellt und dann werden die Werte eingefügt. In LabVIEW ist das irgendwie alles ein wenig anders - meist genial, aber für den flachen Programmierer nicht unbedingt gleich verständlich.

Ich möchte ja nicht lernresitent sein, daher schaue ich mir Dein Beispiel jetzt mit großer Verwunderung an und versuche auch daraus zu lernen Smile

Gruß, Guido
Hallo Guido,

Zitat:dann werden die Werte eingefügt
Vielleicht liegt es ja an der falschen Wortwahl. Schließlich willst du Werte nicht einfügen, sondern nur anhängen!
Hallo Gerd,

(01.11.2012 21:50 )GerdW schrieb: [ -> ]Vielleicht liegt es ja an der falschen Wortwahl. Schließlich willst du Werte nicht einfügen, sondern nur anhängen!

Dann sollte es vielleicht "an Array anhängen" und nicht "Array erstellen" heißen. Wenn ich als flacher Programmierer "Array erstellen" lese, dann gehe ich davon aus ein Array zu erstellen - also zu definieren. Liegt tatsächlich an der Wortwahl, denn der Ausgang heißt ja tatsächlich "Angehängtes Array" und nicht erstelltes Array. Das ist oft verwirrend wenn nicht sogar kompliziert.

In Zukunft widme ich diesem Element mehr aufmerksamkeit, denn es erspart mir doch offensichtlich viel Arbeit Smile

Gruß, Guido
Referenz-URLs