LabVIEWForum.de - DAQ Leitungsgruppierung

LabVIEWForum.de

Normale Version: DAQ Leitungsgruppierung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe eine digitale Ausgabe von booleschen Variabeln
über eine DAQ-Karte realisiert. Diese liegen alle auf einem
Port und könnten somit jeweils als Array geschrieben werden.

Ich möchte die Ausgänge aber einzeln beschreiben, ohne die Zustände
der anderen Ausgänge zu beeinflussen oder diese jedes Mal über ein Array
wieder mit zu schreiben, indem der alte Zustand einfach noch einmal
geschrieben wird.

Zur Zeit habe ich alle Leitungen des Ports einzeln initialisiert und die
DAQ-Tasks dann in ein Array geschrieben und kann die Leitungen einzeln
ansprechen. Dieses Vorgehen erscheint mir aber etwas zu umständlich.
Die VI 'DAQmx Create Virtual Channel' bietet noch einen Eingang, mit dem
die Leitungsgruppierung eingestellt werden kann. Leider kann ich mit
der LabVIEW-Hilfe zu dem Parameter nichts anfangen und war bislang
auch nicht erfolgreich, wenn ich die Einstellung 'Ein Kanal pro Leitung'
verwendet habe.

Kann mir jemand erklären, wie ich die Initialisierung der DAQ-Leitungen
gebündelt umsetzen und diese dann trotzdem noch einzeln ansprechen
kann und was es mit dem Parameter der Leitungsgruppierung auf sich hat?

Vielen Dank!


LabVIEW 2010 SP1
DAQmx 9.3
(10.10.2011 10:17 )ahebauer schrieb: [ -> ]Zur Zeit habe ich alle Leitungen des Ports einzeln initialisiert und die
DAQ-Tasks dann in ein Array geschrieben und kann die Leitungen einzeln
ansprechen. Dieses Vorgehen erscheint mir aber etwas zu umständlich.
Ganz ehrlich, genau so würde ich es auch machen.

Gruß, Jens
Ja, aber das umgekehrte Vorgehen ist doch weit weniger umständlich: Die Leitungen immer zusammen ansprechen. Und wenn nur eine Leitung geändert werden soll, dann ist das doch eine ganze leichte Übung: Man hat hat immer ein boolsches 1D-Array im Programm, in der der die aktuellen Leitungszustände als Kopie hinterlegt sind. Und wenn eine Leitung geändert werden soll, dann ändert man eben dieses eine Element im Array sendet das dann an DAQmxWrite.
(10.10.2011 11:16 )Lucki schrieb: [ -> ]Ja, aber das umgekehrte Vorgehen ist doch weit weniger umständlich: Die Leitungen immer zusammen ansprechen. Und wenn nur eine Leitung geändert werden soll, dann ist das doch eine ganze leichte Übung: Man hat hat immer ein boolsches 1D-Array im Programm, in der der die aktuellen Leitungszustände als Kopie hinterlegt sind. Und wenn eine Leitung geändert werden soll, dann ändert man eben dieses eine Element im Array sendet das dann an DAQmxWrite.

Erstmal danke für eure Antworten.

Das Vorgehen ist mir auch bekannt und habe ich bereits öfters in anderen Projekten so umgesetzt.
Jetzt geht es aber um ein altes Projekt aus Zeiten von LabVIEW 6.0, welches auf LV 10 aktualisiert wird.
Hier wird sehr viel mit globalen Variablen und 'parallel' laufenden VI (auf einer CPU) gearbeitet.
Da da sPorgramm nicht gänzlich umgeschrieben werden soll, muss ich mit den globalen Variabeln leben.
Das erschwert mir aber eine sichere Abfrage der aktuellen Leitungszustände, da in mehreren VIs zur
(fast) gleichen Zeit die Ausgänge geändert werden können. Daher habe ich die´etwas umständlichere
Umsetzung gewählt.

Kann mir denn jemand sagen, wofür der Parameter 'Leitungsgruppierung' der VI 'DAQmx Create Virtual Channel' steht?
Und bitte keine Kopie der LabVIEW-Hilfe ... die hab ich schon gelesen Huh

Danke
Referenz-URLs