LabVIEWForum.de - Parallelisierung von DAQmx Eingangskanälen

LabVIEWForum.de

Normale Version: Parallelisierung von DAQmx Eingangskanälen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich möchte fragen, ob jemand eine Idee zur Lösung des folgenden Problems hat:

Ich möchte mittels DAQmx mehrere Sensorsignale einlesen, die an verschiedene Eingänge einer Messkarte angeschlossen sind. Da nicht immer alle Sensoren benutzt werden, möchte ich gerne jeden Sensor in einer eigene While-Schleife in einem Queued Message Handler (im angefügten Beispiel der Einfachheit und Übersichtlichkeit halber durch zwei Case-Strukturen ersetzt) auslesen.
Leider erhalte ich hierbei den Fehler Nr. -50103 "This specified resource is reserved. The operation could not be completed as specified." Der Fehler tritt nur auf, wenn ich die Sensoren an verschiedene Eingänge einer Messkarte anschließe. Nutze ich zwei verschiedene Messkarten, funktioniert das Programm wie gewünscht.
Da ich jedoch insgesamt 5 Sensoren anschließen möchte, aber keine 5 Messkarten habe, möchte ich fragen, ob es eine andere Möglichkeit gibt, die verschiedenen Signaleingänge von einer Messkarte parallel zu initialisieren und auszulesen, ohne die Initialisierung der einzelnen Sensoren "in Reihe" vornehmen zu müssen?

Hat jemand eine Idee?

Danke.
Hallo mixi,

Zitat:möchte ich fragen, ob es eine andere Möglichkeit gibt, die verschiedenen Signaleingänge von einer Messkarte parallel zu initialisieren und auszulesen
Einfache Antwort: NEIN!

Technischer Hintergrund:
Du verwendest sehr wahrscheinlich eine DAQ-Karte mit nur einem ADC und einem MUX davor: der ADC kann nur in einem DAQmx-Task verwendet werden, egal wieviele Kanäle du brauchst!
Etwas anderes wäre es mit einer Karte, die keinen MUX und dafür je einen ADC pro Signal verwendet: da würde dein Ansinnen funktionieren…
Hallo GerdW,

danke für deine Antwort. Schade, dass es keine Möglichkeit gibt, das Problem softwareseitig zu umgehen.
(17.07.2020 15:16 )mixi schrieb: [ -> ]Einfachheit und Übersichtlichkeit halber durch zwei Case-Strukturen ersetzt
Naja, so schwierig ist es nun auch wieder nicht, alle Sensoren gleichzeitig (also mit einer Task) einzulesen und den gewünschten Kanal per Indizierung (z.B. durch Enumerator "Nummer des Sensors") zu vereinzeln.
Danke IchSelbst und GerdW für eure Anmerkungen und Erklärungen.
Referenz-URLs