LabVIEWForum.de
Verschiedene Channels auswählen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Verschiedene Channels auswählen (/Thread-Verschiedene-Channels-auswaehlen)

Seiten: 1 2


Verschiedene Channels auswählen - tschibi - 04.11.2011 11:29

Hallo

Ich benutze eine Messkarte usb-6251.
Ich habe 8 Sensoren auf 8 AnalogInput verdrahtet. Weiter habe ich eine Task erzeugt mit den entsprechenden Physikalischen Kanälen (ai0-7).

Mein Problem ist nu folgendes.
Im Programmablauf brauche ich nicht immer alle Sensoren zu erfassen, zB nur Nr1-4. Kann ich irgendwie eine Art "Scannlist" erzeugen oder muss ich mich damit abfinden, dass immer alle 8 Kanäle gemessen werden.
Oder müsste ich den Task immer wieder neu mit den entsprechenden Physkalischen Kanälen erzeugen.

Gruss
Bruno


RE: Verschiedene Channels auswählen - jg - 04.11.2011 11:43

Alles ohne MAX und Tasks machbar. Hier 2 Varianten als Anregung:
[attachment=36904]
Gruß, Jens


RE: Verschiedene Channels auswählen - tschibi - 04.11.2011 12:20

Danke schonmal für die Antwort Jens.
Leider blicke ich da noch nicht ganz durch...

Beim ersten Beispiel machst du einen Array of Task. Somit kann man beim Messdaten lesen den entsprechenen Task übergeben.
Sehe ich das Richtig?

Beim zweiten Beispiel versteh ich nur Bahn

Könntest du deine Beispiele mit ein Read ergänzen? Sagen wir ich möchte nur Kanal 2 und 5 lesen....

Wäre supernett...


RE: Verschiedene Channels auswählen - jg - 04.11.2011 12:46

Lies dir die Hilfe zu Create Virtual Channel durch (Ctrl-H) Rtmfx . Und da die weiterführenden Links zum "Physical Channels" Eingang.

Grundsätzlich sind die beiden Codefragment-Varianten dasselbe. Im 2. Bsp siehst du, dass man auch einen String am Eingang von Physical Channels anschließen kann.

Gruß, Jens


RE: Verschiedene Channels auswählen - tschibi - 04.11.2011 13:17

Die Hilfe und der Example-Finder sind mir bekannt...

Ich habe ein Beispiel erstellt mit der Variante 1 von Jens.
Beim "Read" stehe ich aber weiterhin auf dem Schlauch...


RE: Verschiedene Channels auswählen - jg - 04.11.2011 13:42

Jetzt hast du ja ein Task mit allen 8 AIs erzeugt.
Ich dachte, du willst nur ein Task mit 2 Kanälen.
Ansonsten jetzt ein Index-Array und die gewünschten Kanäle auswählen.
[attachment=36915]
Gruß, Jens


RE: Verschiedene Channels auswählen - tschibi - 04.11.2011 14:06

(04.11.2011 13:42 )jg schrieb:  Jetzt hast du ja ein Task mit allen 8 AIs erzeugt.

Eben das war meine Frage. Kann man 8 Kanäle erzeugen und nur 2 messen.
Im Moment verwende ich genau deine Variante mit "index Array". Dabei werden aber alle 8 Kanäle gemessen.

Ich dachte ich Frage einmal ob es irgendeine Möglichkeit gibt verschiedene Kanäle aus den erzeugen auszuwählen...

Ich denke offenbar nicht...

Danke für deine Hilfe Jens


RE: Verschiedene Channels auswählen - jg - 04.11.2011 14:15

Diese Frage habe ich IMHO mit Beitrag #2 beantwortet. Wenn du ein AI-Task mit nur 2 Kanälen haben willst, dann musst du das so programmieren. Du musst duch nur aus dem Array deiner möglichen 8 AIs diejenigen auswählen, die du wirklich messen willst. Und dann damit den Task erstellen. Fertig.

Wenn aber alle 8 Kanäle im Task drin sind, dann werden sie auch alle gemessen.

Gruß, JEns


RE: Verschiedene Channels auswählen - Knarrre - 07.02.2012 10:00

Ich habe eine USB-6210 Karte und LV 2011. Ich möchte 3 Thermoelemente Typ-K auslesen. Bisher habe ich das mit dem DAQ-Assistenten gemacht. Nun möchte ich das ganze mit den DAQmx-vi's machen um ein bisschen besser zu verstehen wie das funktioniert. Später möchte ich es schaffen (hoffe das geht) die drei Temperaturen in eine LVM Datei zu schreiben und einen Header zu erstellen, in dem die Namen der Signale als Spaltenüberschrift stehen.

Im Moment versuche ich das hier beschriebene nachzubauen. So weit ich das verstehe kommt das vi "Kanal erzeugen" in die For-Schleife, damit es nacheinander die physikalischen Kanäle abarbeitet. Nun bekomme ich es nicht hin die drei Kanäle
1. in so eine Box zusammen zupacken und
2. der For-Schleife zu sagen, sie soll von i=0 bis n-Kanäle durchlaufen.

Oder verstehe ich das hier komplett falsch? lv11_img


RE: Verschiedene Channels auswählen - Lucki - 07.02.2012 10:45

(04.11.2011 14:06 )tschibi schrieb:  Ich dachte ich Frage einmal ob es irgendeine Möglichkeit gibt verschiedene Kanäle aus den erzeugen auszuwählen...
Ich denke offenbar nicht...
Das kommt darauf an..
Du kannst von allen 8 Kanälen je einen eigenen Task einrichten, und startest und stopst dann immer nur die Tasks der tatsächlich gebrauchten Kanäle.
Der Haken an der Sache ist: Das geht nur nacheinander. Wenn Dir die Quasi-Gleichzeitigkeit der Erfassung wichtig ist, geht es nicht.

Die eigentliche Frage ist aber doch: Was spricht dann eigentlich dagegen, immer alle Kanäle zu messen, auch wenn nicht immer alle Kanäle gebraucht werden und die Daten der nichbenutzten Kanäle in den Müll wandern?

Ist das umweltschädlich? Hat das zusätzliche CO2-Emmisionen zur Folge? Müssen deswegen mehr Bäume gefällt werden? Stirbt deswegen ein Kind in der dritten Welt? Verschleißen PC und Messkarte mehr? - Ich würde alles mit Nein beantworten.

Wenn der Grund die mit weniger Kanälen zu erzielende höhere Datenrate wäre, hättest Du das sicher erwähnt. Kann also auch nicht der Grund sein.

Edit: Du schreibst gar nichts über die gewünschte Datenrate. Wenn diese nicht zu hoch ist, besteht die Möglichkeit, die Rate softwaremäßig als Folge von Einzelmessungen in einer While-Schleife zu organisieren. Und dann kannst Du die gewünschten Kanäle aussuchen, ohne jedes Mal etwas neu konfigurieren zu müssen.