LabVIEWForum.de
Cluster dynamisch nach Name aufschlüsseln - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Cluster dynamisch nach Name aufschlüsseln (/Thread-Cluster-dynamisch-nach-Name-aufschluesseln)



Cluster dynamisch nach Name aufschlüsseln - olmethn - 26.06.2015 09:33

Hallo zusammen,

ich habe mir ein SubVI gebaut welches von einem Thermocouple Modul die entsprechende Temperatur des ausgewählten Kanals einliest. Die Auswahl des Kanals erfolgt durch ein Enum mit Typdefinition. Wie kann man dynamisch, also auch bei Änderung der Typdefinition, den Namen des Kanals in den Cluster bekommen um danach mit "Nach Namen aufschlüsseln" dies einfach aus dem Cluster auswählen kann?

Bei mir erscheint hier immer Einzelwert (s. Anhang)! Angry

danke und vorab ein schönes WE

[attachment=53469]


RE: Cluster dynamisch nach Name aufschlüsseln - jg - 26.06.2015 10:10

Da du Labels nicht zur Laufzeit ändern kannst und du aktuell nur mit einem "Bundle" arbeitest, lautet meine Antwort: gar nicht!

Gruß, Jens


RE: Cluster dynamisch nach Name aufschlüsseln - olmethn - 26.06.2015 10:27

(26.06.2015 10:10 )jg schrieb:  Da du Labels nicht zur Laufzeit ändern kannst und du aktuell nur mit einem "Bundle" arbeitest, lautet meine Antwort: gar nicht!

Gruß, Jens

Das "Bundle" hab ich nur exemplarisch drin. Bringt mich ein "Bundle by Name" weiter?


RE: Cluster dynamisch nach Name aufschlüsseln - Kiesch - 26.06.2015 12:10

Was du möchtest ist so nicht realisierbar, da die Labels (im Prinzip entsprechen die im klassischen Programmieren den Variablennamen) nicht zur Laufzeit änderbar sind (wie man auch Variablennamen nicht zur Laufzeit ändern kann). Die Funktionalität die du möchtest könntest du über LVOOP realisieren. Einfach ein Elternobjekt, aus dem sich dann die einzelnen zu unterscheidenden Sensoren ableiten und die Methoden, die die Unterscheidung nach Herkunft der Daten brauchen dynamisch dispatchen. Regelt dann vieles alleine.

Ansonsten kann man schwierig sagen wie du das anders lösen kannst ohne zu wissen was du genau damit anfangen willst. Was deiner Anforderung am nächsten kommen könnte (nehme ich an): Du machst ein Typedef als Vorlage für einen Cluster der die Werte aller möglichen Sensoren enthält (sprich: Ein Eintrag für jedes Element des Enums mit entsprechendem Namen) und benutzt den dann mit Bundle by Name als Eingang bei Bundle by Name. Dann musst du bei Änderungen jeweils beide Typedefs anpassen (wenn die Funktionsweise konsistent die gleiche bleiben soll). Anschließend kannst du im BD wenn du nur einen Teil der Werte weitergeben / loggen willst oder das trennen willst nen Unbundle machen und nen normales Bundle und solltest dann nach dem Bundle die gleichen Labels drinstehen haben wie im Bundle bei Name vorgegeben.

Gruß Kiesch


RE: Cluster dynamisch nach Name aufschlüsseln - olmethn - 29.06.2015 11:20

(26.06.2015 12:10 )Kiesch schrieb:  Was du möchtest ist so nicht realisierbar, da die Labels (im Prinzip entsprechen die im klassischen Programmieren den Variablennamen) nicht zur Laufzeit änderbar sind (wie man auch Variablennamen nicht zur Laufzeit ändern kann). Die Funktionalität die du möchtest könntest du über LVOOP realisieren. Einfach ein Elternobjekt, aus dem sich dann die einzelnen zu unterscheidenden Sensoren ableiten und die Methoden, die die Unterscheidung nach Herkunft der Daten brauchen dynamisch dispatchen. Regelt dann vieles alleine.

Ansonsten kann man schwierig sagen wie du das anders lösen kannst ohne zu wissen was du genau damit anfangen willst. Was deiner Anforderung am nächsten kommen könnte (nehme ich an): Du machst ein Typedef als Vorlage für einen Cluster der die Werte aller möglichen Sensoren enthält (sprich: Ein Eintrag für jedes Element des Enums mit entsprechendem Namen) und benutzt den dann mit Bundle by Name als Eingang bei Bundle by Name. Dann musst du bei Änderungen jeweils beide Typedefs anpassen (wenn die Funktionsweise konsistent die gleiche bleiben soll). Anschließend kannst du im BD wenn du nur einen Teil der Werte weitergeben / loggen willst oder das trennen willst nen Unbundle machen und nen normales Bundle und solltest dann nach dem Bundle die gleichen Labels drinstehen haben wie im Bundle bei Name vorgegeben.

Gruß Kiesch

Hallo Kiesch,

also LVOOP sagt mir gar nix und wahrscheinlich hab ich dazu nicht den nötigen Hintergrund um das auch umzusetzen.

Ich werde das jetzt mit einer Typdef für den Cluster machen und in dieser und der Typdef für das Enum der Sensoren einen Hinweis rein, dass jeweils der andere auch angepasst werden sollte! Dies wollte ich eigentlich vermeiden, da dadurch entweder der eine oder andere geändert wird und hierdurch Unklarheiten entstehen könn(t)en!!

Problem ist, dass in Zukunft auch andere Personen Änderungen am Prüfstand vernehmen werden/ können...

Danke
OLMETHN