LabVIEWForum.de
Bedingter Textring/Enum - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Bedingter Textring/Enum (/Thread-Bedingter-Textring-Enum)



Bedingter Textring/Enum - Andre_A - 30.05.2013 22:51

Hallo Zusammen.

Ich würde gerne ein Sub-VI erstellen, dass z.B. 2 Eingänge hat, diese könnten Ringe
oder Enums sein.
Ist es möglich das Sub-VI so zu gestalten, dass z.B. wenn der erste Eingang durch den
Ring/Enum die Auswahlmöglichkeit "Name" vorgegeben wird, dass der zweite Eingang nur
noch die Möglichkeiten "Schulze" "Meier" "Müller" anbietet;
und wenn ich am ersten Eingang "Wohnort" einstelle, dass
dann nur noch "Berlin" "Stuttgart" "München" beim zweiten zur Auswahl stehen ?

Ich hoffe, die Fragestellung ist klar geworden.

Polymorphes VI mit Typedefs am Eingang vielleicht ?!
Wäre für ein anschauliches Beispiel oder eine Erklärung sehr dankbar.

MfG
Andre


RE: Bedingter Textring/Enum - GerdW - 31.05.2013 07:46

Hallo Andre,

Zitat:Polymorphes VI mit Typedefs am Eingang vielleicht ?!
Polymorph ist schon die richtige Richtung...

Zitat:wenn der erste Eingang durch den Ring/Enum die Auswahlmöglichkeit "Name" vorgegeben wird, dass der zweite Eingang nur noch die Möglichkeiten "Schulze" "Meier" "Müller" anbietet; und wenn ich am ersten Eingang "Wohnort" einstelle, dass dann nur noch "Berlin" "Stuttgart" "München" beim zweiten zur Auswahl stehen ?
Du lässt den ersten Eingang einfach weg und verwendest stattdessen die Polymorph-Auswahl dafür! Je nach Auswahl wird dann ein anderes "subVI" des Polymorph-VIs angezeigt, dass dann die passenden Eingänge bietet. Dazu dann noch die automatische Auswahl abschalten. Als Beispiel kannst du dir die DAQmx-VIs anschauen, z.B. das DAQmxTiming!


RE: Bedingter Textring/Enum - Lucki - 31.05.2013 09:14

Die zweite Möglichkeit wäre, für den zweiten Eingang das Containerformat "Variant" zu verwenden.
Der Eingang nimmt dann zwar alles an, er verweigert aber auch nichts wegen eines falschen Formates, wie das sonst wohl der Fall wäre.
Der erste Eingang geht im SubVI an einen Case-Selektor, und in jedem dieser Cases läßt sich dann aus dem Variant die ursprüngliche Variable rekonstruieren. (Für weitere Hilfestellung VI senden, in dem z.B. die Enums schon existeiren - erleichtert die Beantwortung)


RE: Bedingter Textring/Enum - Andre_A - 31.05.2013 09:23

Hallo und danke für die Antwort.

Das funktioniert schon, soweit ist das auch klar.
Das "Problem" ist, dass, wenn ich eine Konstante oder Bedienelement an den Eingang lege und
vorher z.B. "Name" gewählt habe, bietet der mir das auch an.
Wenn ich aber nach dem Anlegen des Eingangs den Typ wechsle, bleiben die Auswahlmöglichkeiten
erhalten. Ich muss den Eingang trennen und neu verbinden, damit der die Auswahl vom neuen
Typ übernimmt.

Die Frage war, ob es Möglich ist, das sich im aufrufenden VI die Anschlüsse ad hoc ändern,
wenn ich den Typ (oder die Auswahl eines anderen Eingangs) verändere.

Gruß,
Andre

ps: Daq-Treiber hab ich nicht... konnte deswegen nicht nachschauen. Vielleicht wäre
das ja schon die Lösung gewesen.


RE: Bedingter Textring/Enum - GerdW - 31.05.2013 10:35

Hallo Andre,

Zitat:Wenn ich aber nach dem Anlegen des Eingangs den Typ wechsle, bleiben die Auswahlmöglichkeiten erhalten. Ich muss den Eingang trennen und neu verbinden, damit der die Auswahl vom neuen Typ übernimmt.
Das wird auch immer so sein. Warum sollte LabVIEW die Namen&Datentypen von Eingabeelementen im MainVI ändern, nur weil du ein anderes subVI einbindest?

P.S.:
- Evtl. ließe sich das mit etwas LV-Scripting erledigen - aber lohnt sich der Aufwand hierfür wirklich?
- Wie oft hast du vor, da ein subVI auszutauschen? Sowas macht man doch eh nur einmal bei Erstellen eines VIs!?


RE: Bedingter Textring/Enum - Andre_A - 31.05.2013 11:09

Es ist auch eher ein kleineres (Luxus-)Problem, funktionieren wird
das auch alles ohne diese Spielerei.
Ich wollte generell nur wissen, ob das möglich wäre. Könnte man
ja evtl mal gebrauchen.

Trotzdem danke für die Hilfe.

Gruß,
Andre