LabVIEWForum.de - Werte aus einer Case Struktur behalten?

LabVIEWForum.de

Normale Version: Werte aus einer Case Struktur behalten?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,

ich habe eine umständliche Lösung für ein vermutlich einfaches Problem.
Ich hoffe das mir jemand eine sinnvollere Lösung vorschlagen kann.
Problem:
Eine Case Struktur wird mit einem Schalter auf "True" gesetzt und führt einen Prozess mit Ergebnissen aus. Die Ergebnisse werden aus dem Rahmen geleitet und sollen nach dem loslassen des Schalters noch zur Verfügung stehen.
Wird der Schalter losgelassen wird die Case Struktur auf "False" gesetzt. Damit keine Fehlermeldung erscheint, müssen die Tunnel auch für diesen Fall mit Werten gefüttert werden. Deshalb bleiben die Ergebnisse im Fall "True", wenn der Schalter auf "False" geht, nicht erhalten.
Damit ich die Ergebnisse behalten kann, habe ich eine Lösung mit Properties gebastelt. Ich denke da sollte es eine bessere Lösung geben.
Anbei ein kleines Beispiel Vi zur Erklärung.
Für eine bessere Lösung wäre ich dankbar.

Gruß

JOBL
a) das Schaltverhalten ändern, damit der true-Case nur einmal ausgeführt wird
b) Das Ergebnis muß im Inneren des true-case aktualisiert werden, damit die Anzeige nur dann aktualisiert wird.
c) sollte eine Verzögerung in der Schleife sein, damit der Prozessor für evtl. andere Aufgaben noch frei ist.
[attachment=4652]
Wenn Du den Wert an anderer Stelle noch brauchst (z.B in der Hauptschleife), dann lokale Variable erstellen, z.B so:
[attachment=4653]
Danke Lucki!Rolleyes
' schrieb:Danke Lucki!Rolleyes
Nichts für ungut, ich beantworte gern solche Beiträge wie bei Dir, in denen das Problem klar beschrieben ist, ein VI mit dabei ist und wo man sieht, daß Du dich schon um eine Lösung bemüht hast. Das ist leider nur bei wenigen Fragen so.
Alternativ - und das ist an sich die bessere Lösung - kann man statt lokaler Variablen auch Schieberegister verwenden. Bei Verwendung lokaler Variablen ist es ungewiss, ob erst aktualisiert wird und dann gelesen, oder umgekehrt (Wobei dann der aktualisierte Wert erst im nächsten Durchlauf verwendet würde). Das kann zu Problemen führen, und zwar dann, wenn es genau anders herum funktioniert als der Programmierer es sich denkt. (Im Beispiel allerdings wäre die Reihenfolge egal).
Mit dem Schieberegister wird das eindeutig, ich kann mich für jede der beiden Möglichkeiten entscheiden (entsprechend den beiden Anzeigen im Bild)
[attachment=4654]
Nochmals vielen Dank!
Ich habe jetzt wieder etwas nützliches dazugelern ohne Stundenlang irgendwelche Bücher zu wälzen.
Ich weiß den Nutzen solcher Foren sehr zu schätzen.

Gruß

JOBL
Referenz-URLs