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!
hier bin ich mal wieder mit einem kleinem LabVIEW-Problem:
Ich möchte numerische Daten über eine Referenz in ein Bedienelement eines Cluster schreiben.
Es handelt sich bei dein numerischen Daten um ein zweidimensionales Array, bei dem Cluster um numerische Bedienelemente in Cluster in Cluster.
Bei den ersten drei Durchläufen (also Zeilen des Arrays, bzw. Cluster des Clusters) funktioniert alles einwandfrei, beim vierten erhalte ich die Meldung
Fehler 91
Der Datentyp des Variant ist nicht kompatibel mit dem Datentyp, der mit dem Eingang verbunden ist.
Kann mir eventuell jemand erklären warum? Und viel wichtiger: Wie korrigiere ich das ganze?
Hi, ich bin gerade auch über diesen Fehler (Error 91) gestolpert! Ich hab eine Event- Struktur die auf 2 Events (Value Change von einem Tab Control oder einer combo Box in einem Array of Cluster) reagiert.
Nun benötige ich einmal den vorherigen und den aktuellen Wert von dem Tab Control. Diese erhalte ich, wenn ich mir den Variant To Data Block nehme und darauf als Typ einen Int. Wenn ich einfach nur einen Indicator anschliesse, erhalte ich auch die Werte als Zahlen. Wenn ich aber diese Zahlen irgendwie verwenden möchte bekomme ich den Fehler :
Error 91 Possible reason(s): LabVIEW: The data type of the variant is not compatible with the data type wired to the type input.
Weiss jemand, wie man den abstellen kann??
Hier im Forum hat man geschickter Weise nicht geantwortet!?!
Danke Herbert
28.11.2006, 16:10 (Dieser Beitrag wurde zuletzt bearbeitet: 28.11.2006 16:11 von A.Berndsen.)
wie möchtest Du die Daten den weiter verarbeiten?
Es scheint wohl daran zu liegen, daß die Datentypen des gewandelten Variants und der Datensenke nicht übereinstimmen.
wenn ich deine Beschreibung richtig verstehe, dann glaube ich zu wissen, wo dein Fehler/Problem liegt. Ich fasse mal meine Ansichten zusammen:
1. Du verwendest eine Event-Struktur.
2. In einem der Event-Cases hast du als Events eingetragen: "Value Change" eines Tab-Controls & "Value Change" einer Combo-Box.
3. Problem ist jetzt: Datentyp des Tab-Controls ist im Prinzip eine Enum-Variable (vielleicht auch ein Text-Ring, da bin ich nicht ganz sicher). Der dazugehörende Datentyp ist eine Integer-Variable, weshalb dein Variant to Integer funktioniert.
4. Die Combo-Box dagegen ist im Prinzip ein String! Deshalb funktioniert die Umwandlung vom Variant nicht und du erhälst die 91er Fehlermeldung.
Ich hoffe, das wars.
Ach ja, Möglichkeit, das ganze zu umgehen: Es müsste doch möglich sein, deine Combo-Box durch eine Enum-Variable bzw. Text-Ring zu ersetzen.
MfG, Jens</div>
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Ich grabe mal diesen uralt Thread wieder aus.. Beigefügt sind 2 Screenshots. Anscheinend mag es der Variant nicht, wenn er auf einmal Daten des Typs U16 bekommt, nachdem er vorher einen Enum bekommen hat. Wie könnte ich dieses Problem lösen?
Das Problem liegt eher darin begründet, dass du ein Variant mit nur einem U16 (Ring oder Enum, egal) zurückverwandeln willst in ein Cluster mit einem U16.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Hmm...bei mir taucht dieser Fehler nun auch auf. Aber nur in der Applikation. Wenn das Programm in der Entwicklungsumgebung läuft, ist alles ok. Da gibt es wieder irgendeinen Unterschied zwischen exe und Entwicklungsumgebung, den ich übersehe. Oder?
Gruß,
Soean
Nachtrag:
Unter den Known Issues fand ich dies:
Error 91 occurred at the Variant To Data node
Variant To Data sometimes throws an error 91 when running in a built executable in LV 2009 "Error 91 occurred at ... Possible reason(s): LabVIEW: The data type of the variant is not compatible with the data type wired to the type input."
Workaround: 1) Update the variant type by generating a new one. (In an empty VI wire the typedef into the "data to variant" prim and run the VI. Then create a constant from the indicator and use this constant as the new type for the variant.) OR 2) Use a Flatten Variant to String and then an Unflatten from String (not the variant version). If you wire in the control you're trying to extract from the variant, it will work like a charm.