INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Case abhängig Cluster gestalten



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

19.07.2012, 13:29
Beitrag #1

RomanK Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Apr 2012

2011
2012
DE


Deutschland
Case abhängig Cluster gestalten
Hallo,

Stehe vor dem Problem dass ich gerne einen Cluster sortieren würde. Er enthält 14 Elemente, teils unterschiedlicher Struktur (Cluster in den einzelne Elemente abgelegt sind, Cluster mit Arrays, Cluster mit Strings etc.)
Jeder Typ ist doppelt vorhanden, einmal für Strom, einmal für Spannung. Also insg. 7 unterschiedlichte Typen.

Ich würde gerne jetzt "Case" Abhängig in einem "Output Cluster" entweder den "Strom-Cluster" oder den "Spannungs-cluster" einfügen. Also 1 Eintrag im "Output Cluster" soll je nach Bedinung mit dem "Strom-Cluster" oder "Spannungscluster" gefüllt werden. Der Output hat dann 7 Einträge.

Leider kann ich einem Eintrag im "Output-Cluster" keine 2 unterschiedlichen Typen einfach zuweisen Sad

Gibts dafür irgend eine Lösung ?

Spannungs-Cluster : String, Enum, Enum
Strom Cluster : String, Enum, Enum, Enum

+ unterschiedliche Labels

Gruß Roman
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.07.2012, 15:54
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Case abhängig Cluster gestalten

Akzeptierte Lösung

Hallo Roman,

du kannst unterschiedliche Cluster nicht in einem Draht zusammenführen - LabVIEW arbeitet strikt typisiert...

Du kannst aber einen "großen" Cluster erstellen, der alle Elemente enthält, die du für alle deine "Cases" brauchst. In den Cases füllst du dann nur die entsprechenden Einträge im "großen" Cluster ein. Hilfreich ist dann ein weiteres Element im Cluster (am besten ein typdefiniertes Enum), welches signalisiert, welche Werte im Cluster gerade verwendet werden (sollen)...

Anders ausgedrückt:
- Im aktuellen Fall: Überlege dir eine bessere Datenstruktur.
- Zukünftig: Überlege dir erst eine (bessere) Datenstruktur, und fange dann zu programmieren an... Wink

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.07.2012, 21:31
Beitrag #3

NWOmason Offline
Simultator
*****


Beiträge: 1.078
Registriert seit: Dec 2010

2012.SP1
2008
EN

93047
Deutschland
RE: Case abhängig Cluster gestalten
Die Lösung ist die von Gerd angesprochene 'Super-Cluster-Lösung'.

Gegenfrage: Warum willst du das machen? Wie wird der Cluster weiterverarbeitet? Oder ist er nur zur Anzeige?

Beste Grüße,
NWO

9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris
.

NI schrieb:To use the abort button is like using a tree to stop a car!

(20.01.2012 11:02 )NWOmason schrieb:  Getting Started with NI LabVIEW Student Training
http://zone.ni.com/devzone/cda/tut/p/id/7466

Introduction to NI LabVIEW - Learn LabVIEW Basics
http://www.ni.com/gettingstarted/labviewbasics/

Top 5 der Empfehlungen für LabVIEW-Einsteiger
http://www.ni.com/newsletter/51735/de/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2012, 07:37
Beitrag #4

RomanK Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Apr 2012

2011
2012
DE


Deutschland
RE: Case abhängig Cluster gestalten
Hallo Gerd, NWO,

Um einzelne Blöcke eines Treibers anzusprechen. Da zum Beispiel eine Konstant Quelle sowohl als Strom, wie auch als Spannungsquelle funktionieren kann, müssen beide Datensätze am Baustein bereit stehen.

Vielen Dank für den Vorschlag, im Endeffekt hab ichs auch so gelöst. Die Daten werden im Cluster übergeben und zusätzlich ein Boolean Array, welches je nach Funktion das entsprechende Bit setzt und dann die richtige Spalte ausgelesen wird.

Die gesamte Datenstruktur ist so organisiert, dass alle Funktionen in einem 16 Bit Array, einem Bit entsprechen. Also Bit1=Sweep Quelle, Bit 2=Step Quelle, Bit 3= Sync Quelle, Bit 4-8 Konst Quellen usw.
Wenn der Benutzer für eine SMU jetzt eine Sweep Quelle auswählt, werden alle Daten für die Quelle in den Arrays in Bit 1 abgelegt. Also Channel der SMU, Name der Quelle, Messgrößen, Messspezifikationen + Boolean funktions-Array, OuputCluster + Boolean funktions-Array usw. Ausgelesen muss dann bei allen 16 Bit Arrays immer das erste Bit.

So kann ich im Treiber, die Sweep Quelle dann statisch an das erste Bit aller Arrays anschließen.

Wär cool gewesen, wenn dann im Cluster an Stelle 1 auch Strom- oder Spannungseinstellungen stehen würden, so erfolgts mit einer unter-Instanz über ein Boolean Array Smile

Greetz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2012, 19:32
Beitrag #5

Kiesch Offline
LVF-Stammgast
***


Beiträge: 396
Registriert seit: Mar 2009

2019, 2018, 2016
2009
DE

04519
Deutschland
RE: Case abhängig Cluster gestalten
Das wäre denke ich eine gute Stelle zu erwähnen, dass das einer der Fälle ist in den LVOOP vermutlich auch weiterhilft. Eine Elternklasse die die Schnittstellen definiert und dann auf zwei Kindklassen per dynamic dispatch die die konkrete Handhabung / Ansprache der Hardware regeln ;-)

Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
*Zitat: IchSelbst*
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Elemente Cluster in Cluster ansprechen simcum 3 2.301 02.10.2023 10:49
Letzter Beitrag: th13
  Case-Struktur: Angegebener Case nicht vorhanden braendy 10 4.816 02.02.2021 15:05
Letzter Beitrag: Lucki
  Programme für unterschiedliche Hardware gestalten MaxP 2 2.901 29.11.2017 09:30
Letzter Beitrag: MaxP
  Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case Ksanto 8 6.607 23.10.2017 09:08
Letzter Beitrag: Ksanto
  Element in Cluster of Array of Cluster ausblenden R.Fuertig 4 6.299 26.09.2016 07:47
Letzter Beitrag: GerdW
  Case-Auswahl im SubVI abhängig vom Aufrufer aw 9 4.702 11.02.2016 10:03
Letzter Beitrag: aw

Gehe zu: