LabVIEWForum.de
[gelöst]Probleme mit Get Variant Attribute - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: [gelöst]Probleme mit Get Variant Attribute (/Thread-geloest-Probleme-mit-Get-Variant-Attribute)

Seiten: 1 2


[gelöst]Probleme mit Get Variant Attribute - achim @ FZK - 14.07.2009 13:03

' schrieb:Weisst du denn nicht welche Daten du in dein Variant gepackt hast oder was?

Prizipiell schon aber an dieser Stelle auch wieder nicht :-)
Vgl: prüfen ob ein Variant ursprünglich das Cluster x war

Okay, dann hier die Langfassung:
Das LabVIEW Programm simuliert mit Hilfe der Simulationsschnittstelle SIEMENS SIMBApro mehrere Profibusstränge an einer S7-400. Dies dient dazu eine Anlagensoftware vorder IBN zu testen. Besonders interessant ist die Möglichkeit Fehler zu simulieren, welche man an der echten Anlage nie simulieren kann (Die Anlage beinhaltet ua radioaktives Tritium und ein paar andere Sauereien).

Das ganze Funktioniert so:
Ich habe eine globale Variable in der komponentenweise in Clustern alle Ein- und Ausgänge der SPS sowie für die Simulation benötigten Komponenten abgelegt sind. Alle Cluster sind strikte Typdefinitionen.
Um nicht in einem VI 300 die Änderung an einem ENUM 'Fehler' (das je nach Komponente unterschiedlich ist) über ein Eventcase in die globale Variable schreiben zu müssen möchte ich das so machen, dass man mit einem Ringtext die Komponente auswählt, über ein Event Wertänderung, dann ein 2. Ringtext die Fehler für diese Komponente listet und ein klick auf einen Button den neuen Wert in die globale Variable schreibt.

Der Ringtext der Komponenten liefert mir den Namen des Clusters in der globalen Variablen. Dieser ist in meinem vorherigen Screenshots der Wert 'Komponente'.
Also lese ich mit der Methode Bedienelement-> Abfragen [Variant] den Variant des Clusters aus und möchte mir hieraus irgendwie wieder das Enum herstellen.


[gelöst]Probleme mit Get Variant Attribute - eg - 14.07.2009 13:12

Und so meine ich es mit einem Extra Element:


[gelöst]Probleme mit Get Variant Attribute - achim @ FZK - 14.07.2009 13:17

Ja ich versteh das aber ich kann die Schnittstellen der VIs eigentlich nur noch mit sehr viel Aufwand ändern (--> will ich darum nicht)
Gibts denn keine Möglichkeit den Wert auszulesen?

Anbei die globaleVariable in Version 8.51. Es sind halt eigentlich nur eine Handvoll verschiederner Cluster aber dafür von jedem Cluster etliche.


[gelöst]Probleme mit Get Variant Attribute - eg - 14.07.2009 13:26

Wie kommt man nur auf solche IdeenBig Grin

Ich glaube du bist der nächste Kandidat für die Tapete der Woche. Sorry, ich verstehe sowas nicht.
Mein Tipp: überlege dir einen anderen Programmieransatz.


[gelöst]Probleme mit Get Variant Attribute - achim @ FZK - 14.07.2009 13:28

Jo danke,

gibts denn nun eine Möglichkeit?


[gelöst]Probleme mit Get Variant Attribute - cb - 14.07.2009 14:14

' schrieb:Jo danke,

gibts denn nun eine Möglichkeit?

so weit ich weiß: NEIN

ich hab selbst schon versucht an die Elemente des Variants ranzukommen, offensichtlicher Weise werden diese ja übertragen, aber man kommt einfach nicht ran, es ist zum die Wände hochgehen.

Man könnte höchstens noch versuchen das Byte für Byte abzubilden, aber auch da bin ich in Teufels Küche gekommen damals, ich hab's dann gelassen ...


[gelöst]Probleme mit Get Variant Attribute - achim @ FZK - 14.07.2009 14:17

Danke i2dx,
das ist eine Antwort mit der ich was anfangen kann.
Dann werd' ich das ganze so wohl verwerfen müssen und mir was anderes überlegen müssen.

Viele Grüße,
Achim


[gelöst]Probleme mit Get Variant Attribute - schrotti - 14.07.2009 15:37

So schnell geben wir nicht auf. Wenn du dir OpenG hernuterlädst kannst du es wie im Beispiel machen. Viel Spaß damit.
[attachment=19722]
[attachment=19723]
Edit: Ich hab die OpenG Funktionen mit ins zip gepackt.


[gelöst]Probleme mit Get Variant Attribute - achim @ FZK - 15.07.2009 14:31

' schrieb:So schnell geben wir nicht auf. Wenn du dir OpenG hernuterlädst kannst du es wie im Beispiel machen. Viel Spaß damit.
[attachment=47683:GetEnumf...tcluster.png]
[attachment=47684:GetEnumData85.zip]
Edit: Ich hab die OpenG Funktionen mit ins zip gepackt.

@Schrotti:
Vielen vielen dank für den Tipp mit OpenG. Damit ist es ein Kinderspiel!
Auch die anderen VIs von OpenG sind klasse... Viele kleine Helferlein die das Leben leichter machen.

Danke!

Mein Problem ist damit gelöst.

Gruß Achim