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:

Wert des Variant ermitteln



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!

22.02.2022, 10:54 (Dieser Beitrag wurde zuletzt bearbeitet: 22.02.2022 10:55 von LV-New.)
Beitrag #1

LV-New Offline
LVF-Grünschnabel
*


Beiträge: 44
Registriert seit: Apr 2020

2016
2019
DE



Wert des Variant ermitteln
Hi,

würde gern aus einem Variant (Cluster) die einzelnen Element-WERTE (String, Numerisch,Boolsch, Pfad etc.) ermitteln.
Im angehangenen Beispiel kann ich einwandfrei den Typ des Clusters ermitteln, allerdings werden stets die falschen Werte angezeigt.

Wie löst man diese Problem?

Anmerkung: Der Variant ist sowohl bei der Anzahl der Elemente flexibel als auch bei den Datentypen. Daher sollte der Variant während der Laufzeit des Programmes "zerlegt" werden (String, Numerisch, Boolsch etc. und anschließen die Werte ausgelesen werden.


Angehängte Datei(en)
16.0 .vi  Wert eines Variants.vi (Größe: 17,01 KB / Downloads: 111)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2022, 13:01
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.399
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Wert des Variant ermitteln
Hallo LV_new,

Zitat:Im angehangenen Beispiel kann ich einwandfrei den Typ des Clusters ermitteln, allerdings werden stets die falschen Werte angezeigt.
GetClusterInformation liefert dir ein Variant-Array, welches nur die Datentypen im Cluster beschreibt, aber nicht deren Werte enthält. Daher ist es sinnlos, in der Schleife dann noch zu versuchen, deren Werte auszulesen:
   

Was genau willst du erreichen? Wo kommen die Eingangswerte/Cluster her?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2022, 13:58 (Dieser Beitrag wurde zuletzt bearbeitet: 22.02.2022 14:02 von LV-New.)
Beitrag #3

LV-New Offline
LVF-Grünschnabel
*


Beiträge: 44
Registriert seit: Apr 2020

2016
2019
DE



RE: Wert des Variant ermitteln
Die Intention war ein SUBVi zu schreiben, welches "automatisch" beliebige Datentypen in eine TDMS Datei ablegt.

Woher kommt das Cluster?
Daher wollte ich für jedes LAbview-Programm einen Clustertyp definieren, welche ich dann mit diesen Subvi verbinde, so dass er die einzelnen Datentypen "zerlegt" und anschließend in jener besagten TDMS abspeichern kann. (Wollte nicht für jedes Programm "TDMS schreiben" erstellen sondern es eben so probieren).

Da muss es doch einen Weg geben, schließlich ist doch bei einem Cluster auch ein Index vergeben. Wo der Datentyp als auch der Wert hinterlegt ist.
Genauso sehe ich doch beim Variant die Werte, da sollte es doch möglich sein, diese der Reihe nach ausgeben zu können?!


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2022, 15:25
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.399
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Wert des Variant ermitteln
Hallo LV-New,

Zitat:Da muss es doch einen Weg geben
Ja klar. Und andere sind ihn schon gegangen:
   

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2022, 15:57
Beitrag #5

LV-New Offline
LVF-Grünschnabel
*


Beiträge: 44
Registriert seit: Apr 2020

2016
2019
DE



RE: Wert des Variant ermitteln
@GerdW: Kannst du das Vi auch teilen?
Dann anhand des Bildes ist mir nicht klar was in diesem SUBVi drin ist :-(
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2022, 16:19
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.399
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Wert des Variant ermitteln
Hallo LV-New,

ich habe extra das Label des VIs angezeigt: es stammt aus dem MGI-Toolkit, welches du in VIPM findest…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.02.2022, 16:35
Beitrag #7

LV-New Offline
LVF-Grünschnabel
*


Beiträge: 44
Registriert seit: Apr 2020

2016
2019
DE



RE: Wert des Variant ermitteln
Danke für den Hinweiß, dann muss ich mal schauen wie dieses MGI-Toolkit funktioniert.

Schönen (Feier-)Abend noch!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2022, 22:03
Beitrag #8

Martin.Henz Offline
LVF-Team
LVF-Team

Beiträge: 413
Registriert seit: Jan 2005

2.5.1 bis 20
1992
kA

74363
Deutschland
RE: Wert des Variant ermitteln

Akzeptierte Lösung

Haloo LV-New,

das VI GetClusterInformation ist ja lustig. Der Sinn dieses VI erschließt sich mir auch nicht, was nicht heist, dass es nicht doch irgendwo eine sinnvolle Anwendung gibt. Das VI ruft die Funktion GVariantTDR_GetClusterInfo() auf.

was du suchst/brauchst, ist sehr viel naheliegender:

   

Das ist wahrscheinlich die einfachste Möglichkeit.

Eine andere Methode führt über die LabVIEW Funktion "Variant To Flattened String" und den Type Descriptor ("Type String"). Das ist dann allerdings etwas anspruchsvoller und für den vorliegenden Fall ist es Rube-Goldberg.

Martin Henz
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2022, 09:09
Beitrag #9

LV-New Offline
LVF-Grünschnabel
*


Beiträge: 44
Registriert seit: Apr 2020

2016
2019
DE



RE: Wert des Variant ermitteln
Danke für die Unterstützung!

@Martin.HenzHopper DANKE!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Variant in Grundtypen zerlegen LV-New 6 3.340 10.01.2022 10:55
Letzter Beitrag: LV-New
  Fehlermeldung 91 bei 2D Array umwandeln zu Variant und wieder zurück Tobzn 4 4.193 31.03.2018 21:05
Letzter Beitrag: Tobzn
  Wert an naheliegensten Wert aus Array anpassen TSC 17 9.594 26.07.2016 06:59
Letzter Beitrag: TSC
  Variant-Attributsliste Hasenfuss 2 3.047 27.06.2016 15:10
Letzter Beitrag: Freddy
  Variant Attribute initialisieren NoWay 6 5.396 27.10.2015 08:56
Letzter Beitrag: IchSelbst
  Variant Datentyp TDO 12 10.360 13.04.2015 07:38
Letzter Beitrag: TDO

Gehe zu: