LabVIEWForum.de - Y-Achsen ein und ausblenden

LabVIEWForum.de

Normale Version: Y-Achsen ein und ausblenden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Tag allerseits,

für die Erstellung einer kleinen Anwendung zur Messdatenerfassung und -darstellung in unserem Labor, habe ich mir ein VI erstellt, mit dem ich die Funktionalitäten des XY-Charts etwas erproben möchte. Letztendlich möchte ich für verschiedene Werte (Drücke, Temperaturen etc.), die je nach Auswahl dargestellt werden sollen auch verschiedene Y-Skalen anzeigen. Dazu habe ich insgesamt 7 verschiedene Achsen erstellt, die je nach Sichtbarkeit des Plots "an oder aus" sind und natürlich sollen auch mehrere Y-Achsen gleichzeitig sichtbar sein.

Bei meiner Lösung bisher habe ich das Problem, dass manche Achsen immer nur kurz aufblinken und dann wider verschwinden. Andere werden wiederum (wie gewünscht) permanent angezeigt. Meine bisherige Vermutung besteht darin, dass der Eigenschaftsknoten bei jedem Aufruf - also in jeder Iterationsschleife der for-Struktur, in der er platziert ist - zu Anfang zurückgesetzt(?) wird und die Änderungen dadurch immer nur kurz sichtbar sind. Aber ich komme hier alleine gerade nicht weiter.

Hat jemand einen Tip? Würde mich sehr über eure Hilfe freuen!

Anbei das VI und ein Bild (vielleicht erkennt man darauf ja schon sofort den Fehler)
Hallo Roumaen,

Zitat:Bei meiner Lösung bisher habe ich das Problem, dass manche Achsen immer nur kurz aufblinken und dann wider verschwinden. Andere werden wiederum (wie gewünscht) permanent angezeigt. Meine bisherige Vermutung besteht darin, dass der Eigenschaftsknoten bei jedem Aufruf - also in jeder Iterationsschleife der for-Struktur, in der er platziert ist - zu Anfang zurückgesetzt(?) wird und die Änderungen dadurch immer nur kurz sichtbar sind.
Du hast 7 Y-Achsen, aber deutlich mehr Plots, die ihnen zugeordnet werden.
Was passiert, wenn für zwei Plots, die auf die gleiche Y-Achse zugeordnet werden sollen, einmal die Achse an- und gleich wieder ausgeschaltet wird?

Tipps:
- Erstelle dir einen Eventcase für diese ganzen Buttons zum Auswählen der Plots. In diesem Case kannst du dann die Y-Achsen formatieren - sowas muss nicht noch neben der Eventstruktur in einer weiteren Case-Struktur erledigt werden…
- Verwende statt InsertIntoArray (IIA) besser BuildArray. Ich sehe im Bild keinen Grund für irgendeine der sichtbaren IIA-Funktionen…

P.S.: Passe bitte dein Profil an, wenn du jetzt nicht mehr LV2015 verwendest.
Profil_ergaenzen
Hi Gerd,

manchmal ist des Rötsels Läsung wirklich so einfach...jetzt, wo ich es weiß ist's klar wür Kloßbrühe - vielen Dank an der Stelle! So, wie ich mich hier gerade an der Lösung des Problems versuche, muss ich aber feststellen, dass die Sache gar nicht so ohne etwas mehr Aufwand zu bewältigen ist, oder was meinst du?

Es gibt mehrere Absolut- und Relativdrücke anzuzeigen. Da macht es meiner Meinung nach grundsätzlich schon Sinn verschiedene Werte der selben Art auf einer Skala anzuzeigen. Also alle Absolutdrücke auf Achse mit dem Index 0 und alle Relativdrücke auf der Achse mit dem Index 1.

Das bedeutet aber auch, dass ich bevor ich eine Achse wieder ausschalte in jedem einzelnen Fall überprüfen muss, ob noch ein anderer anzuzeigender Wert diese Achse gerade benötigt. Und falls ja, darf die Achse dann gar nicht abgeschaltet (=unsichtbar) werden. Das fand ich auf halbem Wege dann doch sehr aufwändig und hab mir gedacht "ich geb einfach jedem Wert ne eigene Achse - irgendwie unschön aber einfacher". Dann hab ich aber u.U. fünf Achsen gleichzeitig aktiv, auf denen ich den Absolutdruck (z.B.) ablesen kann...auch nicht so elegant :/

Übersehe ich hier was?
Danke für deine Hilfe!

Roman

EDIT: Profil ergänzt Wink
Hi Roumaen,

Zitat:Das bedeutet aber auch, dass ich bevor ich eine Achse wieder ausschalte in jedem einzelnen Fall überprüfen muss, ob noch ein anderer anzuzeigender Wert diese Achse gerade benötigt. Und falls ja, darf die Achse dann gar nicht abgeschaltet (=unsichtbar) werden. Das fand ich auf halbem Wege dann doch sehr aufwändig
Du brauchst doch "nur" eine Art "Filter-subVI", welches für jede Achse feststellt, ob mindestens ein Plot angezeigt werden soll.
In deinem Fall reduziert sich das auf das Auswerten der ganzen boolschen Werte im Array!

Tipp: wenn du vorher weißt, welches Signal auf welche Achse soll, könntest du die ganzen Buttons schon in passende Cluster einsortieren. Dann einfach nur noch ClusterToArray und ein OrArray, um zu wissen, ob (mindestens) ein Plot angezeigt wird…
(30.03.2022 15:15 )Roumaen schrieb: [ -> ]Es gibt mehrere Absolut- und Relativdrücke anzuzeigen. Da macht es meiner Meinung nach grundsätzlich schon Sinn verschiedene Werte der selben Art auf einer Skala anzuzeigen. Also alle Absolutdrücke auf Achse mit dem Index 0 und alle Relativdrücke auf der Achse mit dem Index 1.

Ist es hier nicht übersichtlicher alles auf eine Basis umzurechnen? Zumindest sofern die nötigen Daten vorhanden sind, ...
Bei mir hier wird alles immer auf Absolutdruck umgerechnet, wobei wir den aktuellen atmosphärischen Druck aber auch immer messen.

Grüße Timo
Hi zusammen,

danke euch für die Inputs!

@Timo: Ich bin hier mit den Begrifflichkeiten etwas durcheinandergekommen. Es geht um Absolut- und Differenzdrücke. Das sind Bereiche von wenigen Pascal für die Differenzen und ca. 1 bar für den Umgebungsdruck und somit eher schlecht füe eine gemeinsame Skala. Ansonsten hast du aber natürlich recht mit dem Vorschlag der Umrechnung.

@Gerd: Super Tipp mit dem ClustertoArray Element...so wirds schön schlank. Mir ist dann nur noch aufgefallen, dass man den eigenen Wert des jeweiligen Buttons noch rausnehmen muss, da sonst ja natürlich das Array-OR immer TRUE ausgibt und die Achse nicht mehr abgeschaltet werden kann.

Im Anhang meine Lösung, falls es für jemanden interessant ist. Damit wäre das Thema für mich durch und kann geschlossen werden Smile

VIELEN DANK!
(31.03.2022 11:12 )Roumaen schrieb: [ -> ]... Es geht um Absolut- und Differenzdrücke. ..
Ja dann passt das Smile

Ich hätte das jetzt so gestaltet (dieser eine Frame)

[attachment=62197]
und vermutlich gibt es da noch elegantere Lösungen Wink

Gruß Timo
Referenz-URLs