(25.05.2016 06:53 )Woodeye schrieb: (24.05.2016 22:14 )jg schrieb: Edit: Tritt der Fehler mit dem 2. Case auch bei der Variante mit einer Refnum, so wie du es gepostet hast, auf? Anderenfalls wird es dringend Zeit, dass du ein VI hochlädst, welches näher an deiner wahren Umsetzung ist.
So ein VI gibt es nicht, das hochgeladene VI ist die Grundlage weiterer Arbeiten und enthält genau die Stelle wo ich mit meinen LV-Kenntnissen nicht mehr weiter komme.
Noch einmal zur Erklärung, der Case "Init" läuft ohne Probleme, "id02" fragt die Maschinennummer des Klimaschrankes ab und gibt auch den korrekten Wert zurück, mit "id05?" die Projektnummer. Die führende Null zeigt den Fehlerstatus "kein Fehler" der Klimakammer. In diesem Case kann ich auch, nach der Portinitialisierung, 10x schreiben/lesen ausführen und alles läuft.
Egal, wie ich die Connection-Id in den "lesen"-Case übergebe, ich bekomme sofort den Fehler. Ursprünglich war die Id in einem Variant, weitere Übergabeversuche waren lokale Variable und Eigenschaftsknoten und diese Varianten noch in Clustern oder Array versteckt. Das Ergebnis bleibt gleich.
Fehler 1 besagt dass ein Parameter (und das ist bei TCP-IP meist die Connection ID) nicht gültig ist. Kann es sein dass Du die Init Methode Deiner FGV in einer anderen VI Hierarchy aufrufst dann die anderen Methoden. Denn LabVIEW Refnums werden automatisch garbagecollected wenn das Toplevel-VI in wessen Hierarchy die Open Funktion aufgerufen wurde Idle wird. Das kann sehr einfach geschehen wenn Du zum Beispiel ein Startup-VI hast das die Init Methode aufruft und dann mit Run VI das eigentliche Haupt-VI als zweite Hierarchy started und sich selber dann beendet. Diese Garbagecollection kann für VISA Referenzen in den LabVIEW Optionen ausgeschaltet werden aber das gilt nicht für alle anderen Referenzen in LabVIEW.
Zudem gibt es Schiebergister in Schleifen. Das ist die bessere Art um Daten zwischen verschiedenen Methoden Deines FGVs zu teilen. Verwendung eines ValueProperty Nodes ist hässlich, ineffizient und undurchsichtig.