LabVIEWForum.de - Eigenschaftsknoten "Instrumentnamen" funktioniert nur einmal

LabVIEWForum.de

Normale Version: Eigenschaftsknoten "Instrumentnamen" funktioniert nur einmal
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

ich habe ein oder mehrere Geräte über USB an meinem Rechner angeschlossen (virtuelle COM Ports).
Jetzt möchte ich anhand des im Gerätemanager, bzw. MAX angezeigten Gerätenamens den COM Port eines bestimmten Gerätes herausfinden.
Dazu benutze ich zunächst das VI: VISA Ressourcen suchen und gehe dann in einer Schleife die Ressourcen durch mit der Property Node: Interface Information:Interface Description.
Den String, den ich dann zurückbekomme durchsuche ich nach bestimmten Schlüsselwörtern.
Nun mein Problem:
Das ganze funktioniert zunächst einwandfrei. Ich lass es laufen und bekomme meinen COM Port zurück.
Wenn ich das ganze aber nochmal laufen lasse, kommt aus der Property Node immer ein Fehler:

Fehler -1073807246 bei Eigenschaftsknoten (arg 1) in FindTANGOPort.vi

Mögliche Ursachen:

VISA: (Hex 0xBFFF0072) Die Ressource ist zwar gültig, aber VISA kann gegenwärtig nicht darauf zugreifen.

Wenn ich mein Gerät aus und wieder einschalte funktioniert es wieder.
Woran kann das liegen? Liegt das am COM Port oder an meinem angeschlossenen Gerät?! Braucht der COM Port vielleicht etwas Zeit, um wieder verfügbar zu sein?!

[attachment=48194]

Vielen Dank und Gruß

TDO
Wieso verbindest Du "VISA Ressourcenname" nicht einfach durch, sondern verwendest einen Property Node?
Lad' mal Dein VI hoch. Den Fehler kriegt man normal, wenn eine Session nicht geschlossen wurde....

Gruß Markus
Hallo TDO,

was soll diese eklatante RaceCondition in deinem Bild? Hmm
THINK DATAFLOW! Verwende mehr Draht, LabVIEW hat (nahezu) unbegrenzt davon zur Verfügung!

Hast du den COM-Port irgendwo nicht richtig geschlossen?
Das war 4 min zu spät. Big Grin

Gruß Markus

(24.01.2014 08:40 )GerdW schrieb: [ -> ]Hallo TDO,

was soll diese eklatante RaceCondition in deinem Bild? Hmm
THINK DATAFLOW! Verwende mehr Draht, LabVIEW hat (nahezu) unbegrenzt davon zur Verfügung!

Hast du den COM-Port irgendwo nicht richtig geschlossen?
Weil ich es nicht besser wusste!
Wenn ich den String aus dem "VISA Find Resource" VI direkt in die Property Node für den Instrumenten Namen gebe, einen Typenkonflikt gibt.
Ich habe den für dieses Problem relevanten Teil als VI angehängt.
Das VI selbst wird als SubVI aufgerufen, um einfach nur den COM Port des Gerätes zu finden.

[attachment=48201]

Gruß

TDO
Hallo TDO,

um den DATAFLOW zu erzwingen, kann man hier durchaus eine (flache) Sequenz mit zwei Rahmen nutzen!

Warum wird der COM-Port nur im Erfolgsfall geschlossen? Schließen solltest du ihn immer (siehe Anhang)…
Hintergrundinfo:
So gut wie alle "Schließen"-Funktionen (Datei, VISA, Melder, Queue, ...) führen ihre Funktion (im Gegensatz zu anderen Funktionen) auch aus, wenn ein Fehler am Eingang gemeldet wird!

Ebenfalls fragwürdig:
Wenn ein Gerät einen Fehler verursacht, werden die nachfolgenden Geräte nicht mehr untersucht, da der Fehler in einem Schieberegister weitergereicht wird. Ich habe das jetzt nicht geändert, das darfst du dir selbst überlegen…
Hallo GerdW,

vielen Dank für die schnelle Unterstützung. Leider kann ich dein VI nicht öffnen, da ich nur LV2011 auf meinem Rechner habe.
Wenn ich das schließen des COM-Ports auch im Fehlerfall mache, bekomm ich davon auch eine Error Meldung als Pop-Up vom System.
Könnte es natürlich auch ohne den Error als Eingang anschließen, aber mein eigentliches Problem wird dadurch nicht behoben.
Warum bekomme ich aus der Property Node überhaupt einen Fehler?!
Ich öffne in diesem VI doch noch nicht einmal eine Schnittstelle. Schließe Sie wieder und bekomme dennoch da einen Fehler.

Wenn ein Fehler nach der Property Node auftritt wird er ja wieder gelöscht, damit die nachfolgenden Geräte noch untersucht werden oder habe ich da einen Denkfehler?!

Gruß
TDO
Hallo TDO,

warum sollte da ein Popup kommen? Das kommt nur, wenn der Error-Draht nicht weiterverdrahtet wird…
Okay, stimmt! Es lag daran, das ich es nicht weiter verdrahtet hatte!
Habe deine Hinweise/Ratschläge umgesetzt, aber leider immernoch das selbe Verhalten.
Wenn ich mein Gerät aus und wieder einschalte, wird der COM Port ohne Probleme gefunden.
Starte ich das VI danach nochmal, ohne das Gerät auszuschalten funktioniert es nicht mehr.
Versteh das leider nicht.
Hoffe es hat noch jemand eine Idee, woran es liegen könnte!

Gruß
TDO
Hat niemand eine Idee, woran das liegen könnte?
Referenz-URLs