LabVIEWForum.de
Automatische Skalierung Progress bar - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Automatische Skalierung Progress bar (/Thread-Automatische-Skalierung-Progress-bar)



Automatische Skalierung Progress bar - Hubert R. - 16.01.2024 13:51

Hallo Zusammen,

ich möchte einen Progress Bar automatisch Skalieren (Eigenschaftsknoten Scale – Range – Max/Min).

Für die Berechnung der Skalierung möchte die beiden Parameter low_limit und hi_limit verwenden und damit die Werte Scale – Range – Max/Min zu ermitteln.

Hört sich erstmal einfach an.
Ich habe mir gedacht einen prozentualen Wert aus low_limit und hi_limit zu berechnen und diesen dann als Wert (z.B. hi_limit + offset = Scale-Range-Max) zu übergeben und analog dazu mit dem Scale-Range-Min..
Das hat soweit erstmal geklappt.

Aber da auch andere Werte wie (-1…0, -1…1 usw.) auftreten können wird die Berechnung immer umfangreicher.

Deshalb frage ich hier mal nach wie ihr das Problem lösen würdet?
Gibt es vielleicht ein Vi bei MGI oder OpenG das diese Aufgabe erfüllt?

Gruß Hubert


RE: Automatische Skalierung Progress bar - th13 - 16.01.2024 14:56

Mir ist noch nicht ganz klar, was du erreichen möchtest und woran es scheitert. Man kann über die Eigenschaftsknoten noch jede Menge mehr einstellen, schau mal in das angehängte Beispiel.
Ansonsten beschreib nochmal, welches Aussehen du bei welchen Parametern erwartest.


RE: Automatische Skalierung Progress bar - GerdW - 17.01.2024 07:22

Hallo Hubert,

Zitat:Gibt es vielleicht ein Vi bei MGI oder OpenG das diese Aufgabe erfüllt?
Sehr wahrscheinlich nicht, da du ja recht spezielle Anforderungen an deinen "ProgressBar" (jier wohl eher "Prozessfenster-Anzeige") stellst.
Spezielle Anforderungen erfordern auch spezielle Algorithmen, also nichts für ein "einfach für alles und alle" VI...

Zitat:Deshalb frage ich hier mal nach wie ihr das Problem lösen würdet?
Ich verstehe nicht, wieso sich eine Berechnung ändern sollte, wenn sich dein Wertebereich ändert!?

Ein Ansatz besteht darin, den Gesamtbereich (in deinem VI also 0..14, in deiner Message z.B. -1..0) auf einen festen Bereich zu skalieren: es bietet sich der Bereich 0..1 an. Alle Eingangsparameter (aktueller Wert, deine High/Low-Limits, deine Ranges) werden dann in diesen Bereich hineinskaliert.
Beispiel:
Gauge soll von 0..14 anzeigen, wird aber intern auf 0..1 skaliert.
LowLimit=3 ergibt einen skalierten Wert von (3-0)/(14-0) = 0.214
HighLimit = 12 ergibt mit der gleichen Rechnung 0.857
Aktueller Wert = 7 ergibt 0.5
Um die Skalenwerte anzuzeigen nimmst du einfach zwei numeric indicators...

Hast du mal über ein XControl nachgedacht? Das könnte diese ganze Rechnerei kapseln!
(Sie haben aber auch Nachteile und ich weiß gerade nicht, wie der Support in aktuellen/zukünftigen LabVIEW-Versionen aussieht...)


RE: Automatische Skalierung Progress bar - Hubert R. - 21.01.2024 08:02

Hallo th13 und Gerd,

erstmal Danke für die Vorschläge.

Ich habe mich für den Vorschlag von Gerd entschieden. Hiermit konnte ich das Problem lösen.

Gruß Hubert