Hallo zusammen.
Ich suche eine Funktion in LabVIEW, welche die Herstellerdaten eines USB Serial Portes abfragen bzw. einlesen kann. Ich benötigte diese Funktion um im VI den COM-Port eines Schnittstellenwandlers automatisch zu erkennen. Ich habe schon nach der passenden Funktion gesucht, bin aber bisher leider nicht fündig geworden. Danke schon mal für die Hilfe.
MFG Timm
Hallo Timm,
sowas ähnliches hatte ich vor kurzem schon mal beantwortet - finde den Eintrag aber gerade nicht.
Dafür
einen älteren mit dem gleichen Hinweis...
Bei mir wird z.B. angezeigt "ASRL3 (COM3 - Prolific USB-to-Serial Comm Port)" für den gerade angestöpselten USB-RS232-Wandler...
Du kannst über einen Eigenschaftsknoten diverse Werte abrufen. Kannst ja mal verschiedene Eigenschaften ausprobieren. Das was im Beispiel ausgewählt ist, ist der Anzeigename wie er im Gerätemanager angezeigt wird. Das ist allerdings nicht eindeutig.
[
attachment=43427]
Üblicherweise gibt es für bestimmte Hardware auch einen Befehl, um die Identifikation abzufragen. Du könntest also alle vorhandenen COM-Ports abfragen und gucken, ob ein Fehler auftaucht oder eben der richtige Wert zurück kommt.
Grüße,
Totti
Für mich sind nur die Herstellerdaten wichtig. Das VI soll erkennen welche Ports belegt sind und soll an diese eine Abfrage nach den Herstellerdaten schicken bzw. diese Daten einlesen. Stimmt der Hersteller mit dem Hersteller der per Konstante im Programm hinlegt ist überein, so soll dieser Port als Standardeinstellung bei der Initalisierung automatisch gewählt werden.
Danke für die bisherige Hilfe.
MFG Timm
Hallo zusammen.
Habe verschiedene Eigenschaftknoten ausprobiert. Leider finde ich keinen der den Hersteller ausgibt. Den von Totti dargestellten Knoten konnte ich reproduzieren, nur leider gibt auch dieser nicht die Herstellerinfo wieder.
Das Programm muss im ersten Step erkennen welche Ports belegt sind und im zweiten dann überprüfen welche Hersteller die belegten Ports haben.
Hat jemand ne idee wie ich das realisieren kann?
MFG Timm
Hallo Timm,
Zitat:Das Programm muss im ersten Step erkennen welche Ports belegt sind und im zweiten dann überprüfen welche Hersteller die belegten Ports haben.
- Das von mir oben verlinkte Beispiel findet alle COM-Ports und gibt Infos dazu aus. Kannst du mal einen Screenshot zeigen, was das VI bei dir ausgibt?
- Ob Ports "belegt" sind, prüft man durch Öffnen des Ports mittels VISAOpen - ein Fehler bedeutet, dass der Port von einem anderen Programm gesperrt wurde...
Hier der aktuelle Stand als Sreenshot. Programmiert ist es in den beiden beschriebenen Steps, wird aber im weiteren Verlauf zu einen zusammengefasst. Das Programm hat zwei große Macken. Zum einen werden Ports angezeigt die während der Laufzeit getrennt wurden (im Gerätemanager verschwinden diese Ports), zum zweiten wird nicht der Hersteller ausgegeben.
MFG Timm
Hallo Timm,
du zeigst weder die Ausgaben auf deinem FP noch zeigst du, was der von mir empfohlene Aufruf von "VISA Scan For Ports" liefert!
Kannst du beides mal nachholen?
Grrr...
Zu deinem BD:
- Warum keine FOR-Loop? Es wird doch eine feste Anzahl Durchläufe durchgeführt...
- Wozu die Sequenzstrukturen? Beide sind unnötig...
- Du öffnest Ports, schließt sie aber nicht...
- Du musst den "COM%d"-String nicht typecasten...
- Du brauchst weder für den Schleifenzähler noch für die VISA-Resource ein Schieberegister...
Hallo GerdW.
Das Frontpanel liefern ich jetzt nach, sry. Die beschriebene Funktion "VISA Scan For Ports" finde ich mit der Suche-Funktion nicht.
Das die Sequenzen überflüssig sind und das es einigen Stellen Optimieriungsbedarf besteht war mir vor dem Post klar.
Deine Punkte werde ich gleich in das VI einbinden, nur die Ausgabe des Hersteller hab ich trotzdem noch nicht.
Danke für deine umfangreiche Hilfe. MFG Timm