LabVIEWForum.de
NI USB DAQmx Geräte zur Laufzeit einbinden - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: NI USB DAQmx Geräte zur Laufzeit einbinden (/Thread-NI-USB-DAQmx-Geraete-zur-Laufzeit-einbinden)

Seiten: 1 2


NI USB DAQmx Geräte zur Laufzeit einbinden - Kiesch - 10.11.2021 14:56

Hallo liebe LVF Nutzer,

eine Verständnisfrage, da ich da etwas auf dem Schlauch stehe grade:
Wie binde ich richtig DAQmx Geräte (konkret NI USB 6001 bzw. 6002) auf einem System ein, auf dem ich nur eine mit dem Applikation Builder gebaute exe ausrolle (wahrscheinlich über einen Installer, der die Treiber etc. mit installiert, der Teil sah beim googeln machbar aus).

Also es geht mir konkret um: Ich stecke ein USB 6001 auf dem Applikationsrechner an, das wird nehme ich an über den NIMax den der Installer mitbringen sollte gefunden und kriegt eine Dev Nummer. Wie bekomme ich von da mein Gerät im Program eingebunden? Kann ich abfragen welche Devices angeschlossen sind und dementsprechend meine Physikalischen Kanäle erzeugen?

Bisher habe ich bei sowas nur mit der Entwicklungsumgebung gearbeitet, wo ich mir die Tasks direkt erzeugen kann und dann bereits auf Task Ebene weiter damit arbeiten kann. Das ist ja bei einer Exe so einfach keine Option oder?

Gruß Kiesch

P.S: Bis auf das Installer entsprechend einrichten das Runtime und Treiber mitkommen habe ich beim Googeln und hier im Forum wenig hilfreiches gefunden. Ich vermute falsche Schlagwörter.


RE: NI USB DAQmx Geräte zur Laufzeit einbinden - Martin.Henz - 10.11.2021 15:55

Hallo Kiesch,

du kannst abfragen, welche Devices angeschlossen sind (Device Namen), Die kannst du dann einzeln abfragen, was es für ein Typ ist (z.B. "USB-6002"). Du kannst auch z.B. die Seriennummer und vieles andere abfragen. Wenn du das passende Device gefunden hast dann kannst du das ganz normal abfragen/einstellen usw. Beispiele dazu gibts ja massenhaft und über das Express-VI "DAQ Assistant Block.vi" kannst du dir auch maßgeschneiderte Beispiele erzeugen lassen.


RE: NI USB DAQmx Geräte zur Laufzeit einbinden - Kiesch - 10.11.2021 16:57

Hallo Martin,

ich finde kein entsprechendes VI um mir die Dev Namen auslesen zu können. Bin grade nochmal die DAQmx palette durchgegangen. Nehme mal an darüber krieg ich dann ne Dev Referenz die ich über Property Node untersuchen kann? Sowas in der Richtung hatte mir ja eigentlich vorgeschwebt. Ich find beim durchgehen nur diese "Ringkonstante" Dev.

Danke auch für den Tipp mit dem Express VI. Da muss ich dann ja einfach nur Beispielkonfigurieren und anschließend das in Code umwandeln lassen um zu sehen wie die Schritte bei der Kanalerzeugung sind, richtig?


Gruß Kiesch


RE: NI USB DAQmx Geräte zur Laufzeit einbinden - Martin.Henz - 10.11.2021 19:05

Ein VI finde ich auch nicht :-)

Es gibt jedoch zwei Property Nodes, welche dich interessieren dürften.

In der DAQmx Palette: DAQmx Advanced, DAQmx System Setup
und dort

DAQmx System Property Node
DAQmx Device Property Node


RE: NI USB DAQmx Geräte zur Laufzeit einbinden - GerdW - 10.11.2021 20:42

Hallo zusammen,

hier mal ein Bild eines VIs aus meiner user.lib:
[attachment=62106]


RE: NI USB DAQmx Geräte zur Laufzeit einbinden - Kiesch - 10.11.2021 21:57

Danke! Das ist genau das was ich gesucht hatte. Die Property nodes hätte ich so schnell nicht gefunden. Sind ja echt gut versteckt.

@Gerd
Sollte man über die serial des Device gehen um das eindeutig zu identifizieren oder reicht auch die auf dem System festgelegte Gerätebezeichnung (Dev0 etc.)? Hätte jetzt gedacht das die auch nicht mal eben doppelt vergeben wird. Mein Plan ist es die eigentliche Konfiguration der Devices am Ende in eine Ini Datei auszulagern wo dann ein Mapping drin steht welcher Channel der USB Boxen wie heißt wodurch die Programminterne Funktion des jeweiligen Channels vorgegeben wird. Wenn ich das so weit treibe und nicht einfach nur die Channel intern hardcoded festlege und lediglich die Devices "dynamisch" einmal im Ini file bzw. der Programmoberfläche zuweisen lasse.

Gruß Kiesch


RE: NI USB DAQmx Geräte zur Laufzeit einbinden - MScz - 11.11.2021 08:24

Hallo Kiesch,

ich würde da über die Serielle Nummer gehen. Ein Gerät kann an verschiedenen PCs unterschiedliche Dev-Nummern bekommen. Das wird dir gerade dann passieren, wenn an deinen Entwicklungsrechner über die Zeit mal mehrere Geräte angesteckt werden, an dein Prüfstandrechner aber nur die Geräte vom Prüfstand. Dies dann wieder gerade zu biegen ist kein Akt, macht aber in meinen Augen nur unnötig Arbeit und ist nur eine unnötige Fehlerquelle.

Gruß Max


RE: NI USB DAQmx Geräte zur Laufzeit einbinden - Kiesch - 16.11.2021 18:15

(11.11.2021 08:24 )MScz schrieb:  Hallo Kiesch,

ich würde da über die Serielle Nummer gehen. Ein Gerät kann an verschiedenen PCs unterschiedliche Dev-Nummern bekommen. Das wird dir gerade dann passieren, wenn an deinen Entwicklungsrechner über die Zeit mal mehrere Geräte angesteckt werden, an dein Prüfstandrechner aber nur die Geräte vom Prüfstand. Dies dann wieder gerade zu biegen ist kein Akt, macht aber in meinen Augen nur unnötig Arbeit und ist nur eine unnötige Fehlerquelle.

Gruß Max

Mein Problem geht eher in die umgekehrte Richtung: Ich habe keinen Zugriff auf die Geräte und muss die also nach Ausrollen des Build einbinden. Daher würde ich dafür nehmen was auch immer am einfachsten zu machen ist und ich vor Ort am einfachsten rauskriege.
Das soll am Ende auf einem KontrollPC für eine Anlage laufen die wohl um die 4 NI USB 6001 haben wird. Plus weitere 3 an einem weiteren Rechner. Da ich die Nummern / Bezeichnungen also erst vor Ort kriege, muss ichs also eh vor Ort konfigurieren und richtig auf die einzelnen Geräte mappen. Wird spaßig...
Werd das vorher auch mal testen müssen mit einem NI USB das wir bei uns in der Uni haben ob das so funktioniert wie ich mir das vorstelle.


RE: NI USB DAQmx Geräte zur Laufzeit einbinden - MScz - 17.11.2021 11:19

Hallo Kiesch,

ich habe da leider auch nur eine Lösung in die andere Richtung für cDAQ Systeme.

Eine Idee die ich hätte, wäre Tasks im MAX anzulegen und auf diese dann im Programm zu zugreifen.
Am Zielrechner mit der neuen Hardware kannst du die Tasks dann auch wieder mit MAX für die neue HW anlegen und das Programm greift dann auf diese zu.
Bin in dem Thema aber nicht so stark drin, da sollte es sicher noch bessere Ideen geben.

Gruß Max


RE: NI USB DAQmx Geräte zur Laufzeit einbinden - TpunktN - 17.11.2021 12:43

Servus Kiesch,

hilft das heir vielleicht weiter? So wird an einer Unserer Anlagen eine Messkarte gesucht und anschließend initialisiert.
[attachment=62110]

Grüße Timo