LabVIEWForum.de - Textauswahl über Schalter ausgeben

LabVIEWForum.de

Normale Version: Textauswahl über Schalter ausgeben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
[attachment=3530]Hallo,

zum Abgleichen mehrerer Interfaces hab ich die entsprechenden Befehle auf Taster gelegt. Die Befehle werden noch durch vorgeschaltete Adressen unterschieden. Immer wenn ich einen Taster betätige, kommt der richtige Befehl durch (T/F-Schleife). Da es mehrere solcher Befehle gibt, hab ich versucht, diese zu gruppieren. Der momentan gewählte Befehl sollte auf ein Textfeld angezeigt werden, damit ich hier weiterarbeiten kann. D.h. die erstellte Mimik stellt eigentlich nur eine Auswahl dar. Die vielen Schalter im Frontpanel müssen leider sein.
Die Zusammenfassung ist soweit ok, wie aber kann ich den gewählten Befehl auf das Textfeld ausgeben? Muß ich hier über Array und Indizierung gehen; da hab ich leider noch sehr wenig Erfahrung?
Wahrscheinlich handelt es sich um einen Anfängerfehler und ist ganz banal!

Grüße, Franz[attachment=29598:attachment]
Wenn ich dich richtig verstanden habe, hast du immer nur ein Befehl im Array, die Anderen Elemente sind Leere Strings. Dann kannst du wie in meinem Vorschlag vorgehen. Wichtig ist die Indizierung am Eingang in die For-Schleife. Das VI in der For-Schleife heisst "Empty String/Path?".

Gruss, Eugen


P.S. Habe gerade gesehen, dass du einen Cluster und kein Array hast. Deshalb, nicht mit "Build Cluster Array" bündeln, sondern mit "Build Array" von Array-Palette.
Hallo Eugen,

vielen Dank für die schnelle Hilfe, klappt bestens!
Wie Du richtig vermutet hast, ist immer nur ein Befehl aktiv und die Cluster hab ich nach Array ersetzt.
Nun hab ich nur noch das Problem, daß der ausgewählte Befehl in einem Anzeigefeld nur für kurze Zeit sichtbar ist.
Wie kann ich den gewählten Befehl dauerhaft im Anzeigefeld speichern, bzw. sichtbar lassen, bis ein neuer Befehl ausgewählt wird und der neue den alten überschreibt?

Gruß Franz
Wo hast du den Indicator platziert? Im Case oder aussen?

Wenn im Case, dann soll der aktuelle Befehl eigentlich solange angezeigt werden, bis ein neuer kommt. Ansonsten musst du dein VI hochladen, dann schauen wir noch mal.

Gruss, Eugen
' schrieb:Wo hast du den Indicator platziert? Im Case oder aussen?

Wenn im Case, dann soll der aktuelle Befehl eigentlich solange angezeigt werden, bis ein neuer kommt. Ansonsten musst du dein VI hochladen, dann schauen wir noch mal.

Gruss, Eugen
<div align="left">Hallo Eugen,

natürlich hab ich meine Funktion lt. dem Beispiel ergänzt. Der Indicator ist in der Case. Die einzelne Funktion arbeitet einwandfrei, auch ist hier der Wert dauerhaft gespeichert.
Für meine weitere Anwendung hab ich daraus ein SUBVI erstellt, alle Frontplattenelemente mit den Ausgängen verknüpft. Setze ich jeweils eine Sonde direkt ins SUBVI und eine in mein Hauptprogramm, so ist es im SUBVI gespeichert und im Hauptprogramm nicht.
Nun hab ich schon mit Variablen gespielt, komme aber nicht weiter.
Wahrscheinlich gibt es einen einfachen Trick, damit ich den gespeicherten Wert vom SUBVI ins Hauptprogramm transportiere, hab nur noch sehr wenig Erfahrung damit.
Im Forum hab ich schon etwas gesucht, mir sind aber die Unterschiede von Variable zu Referenz usw. nicht ganz klar.
Vielleicht hat jemand noch einen einfachen Trick auf Lager, denn es muß ja eigentlich sehr oft der Fall sein, von SUBVIs auf einen anderen Programmteil Werte zu übertragen.

Gruß Franz</div>
Hi,

ich glaube das liegt daran, das bei nem neuen Aufruf deines SubVIs im nächsten Schleifendurchlauf der entsprechende Case nicht mehr aufgerufen wird. Dann wird auf das Ausgabeelement d.h. den Ausgangskonnektor der Standardwert ("leer") geschrieben und im HauptVI angezeigt...ließ mal hier: http://www.LabVIEWforum.de/index.p...ost&p=12325

Gruss
Achim
<div align="left">Hallo,

momentan hab ich mein Problem soweit gelöst, allerdings nicht sehr schön.
Achim hatte recht. Genau das wiederholte Durchlaufen des Programms ist das Problem.

Um meinen ausgewählten Befehl dauerhaft zu speichern hab ich nun jedem Befehl mit einem RS-FF
dauerhaft gespeichert und über VerODERung eine kleine Mimik erstellt. Die klappt soweit sehr gut.
So, nun ist mein Zeitdruck weg.
Jetzt würde mich mal interessieren, was oder wie man die ausgewählte Befehlfolge
im SUBVI in eine Variable dauerhaft schreibt, welche ich dann im Hauptprogramm aufrufe und weiter
verarbeite.
Leider hab ich im Forum nichts brauchbares gefunden, evtl. Anfängerverstehproblem
Eigenschaftsknoten/Methodenknoten/Referenz usw. hab ich mal versucht zu verstehen.
Momentan kann ich nicht erkennen, was hierfür am geeignetsten erscheint.

Nun meine Frage: Wie kann ich einen Variableninhalt für mehrere Programmzyklen dauerhaft speichern?
Da gibts doch in LV bestimmt einen Trick oder?


Gruß, Franz</div>
Referenz-URLs