Hallo zusammen,
ich hänge seit einiger Zeit an einem Problem mit dem Variant-Datentyp und mir gehen langsam die Ideen aus.
Eigentlich ist es eine simple Aufgabe: Ich habe ein Sub-VI in das ich ca. 10 verschiedene Datentypen (Strings, Cluster, Arrays) übergeben muss.
Dazu habe ich einen Eingang als Variant erzeugt, an den ich die verschiedenen Datentypen anschließen kann. Ich habe mir die verschiedenen Datentypen durchnummeriert, damit ich diese dann im Sub-VI in den entsprechenden Datentyp zurückwandeln kann. Das funktioniert auch soweit richtig.
Jetzt das Problem:
Von Zeit zu Zeit kommt es vor, dass das Variant-Eingangselement im SubVI nicht die Daten übernimmt, mit denen es gerade gestartet wurde. Es werden dann die Daten vom vorherigen Aufruf (ca. 5 Sekunden vorher) an das SubVI übergeben. Ca. 1 von 500 Aufrufen des SubVIs schlägt fehl mit diesem Verhalten und mein Programm bricht ab, da logischerweise die Datentypen nicht zusammenpassen. Soweit ich es überblicken konnte, sind die anderen Eingangselemente nicht betroffen, nur das Variant-Element. Das SubVI wird niemals parallel aufgerufen sondern immer hintereinander. Der Fehler hat sich verschlimmert, seit wir von Labview 8.2 auf Labview2015 umgestiegen sind. Mit 8.2 kam der Fehler vielleicht zweimal pro Woche vor, was noch akzeptabel war. Mit Labview2015 kommt der Fehler aber mehrmals täglich.
Hat irgendjemand eine Idee an was das liegen könnte?
Anbei noch ein Screenshoot von den Aufrufen des SubVIs und der internen Umwandlung.
Viele Grüße
Dieter