LabVIEWForum.de - Einlesen mehrerer Spannungen

LabVIEWForum.de

Normale Version: Einlesen mehrerer Spannungen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo allerseits,

ich möchte gern mehrere Signale gleichzeitig einlesen und verarbeiten.
Da ich noch ein absoluter Neuling bin was LabView angeht, bin ich mir noch nicht so ganz sicher, wie ich das am klügsten anstelle.

Ich habe mal meinen Versuch angehängt, allerdings kann ich auf diese Weise keine Karte mit z.B. 16 Kanälen einlesen.
Wir würdet ihr das umsetzen (die zufälligen Zahlen habe ich nur addiert um überhaupt etwas zu sehen, da ich die Hardware noch nicht habe).
Meine Konfiguration im Max habe ich als Screenshot ebenfalls angehängt.

Vielen Dank für eure Hilfe

Timo
Da ich vorhin nicht drüber nachgedacht habe, hier noch einmal in der V11.
Du kannst im MAX alle? Karten von NI simulieren und du solltest dann auch einen Task erstellen können, der 16 Eingangskanäle hat (Vorausgesetzt die Karte hat auch 16 AIs)


Je nach Karte hast du aber einen "kleinen" (je nach Anforderung) zeitlichen Versatz zwischen den Signalen, da die meisten Karten zwischen den Kanälen umschalten müssen, um das Signal zu messen und das so seine Zeit braucht.
Hallo Timo,

was soll das in deinem VI:
[attachment=46762]
1. Warum wandelst du das Array von DAQmxRead in einen Cluster um? Warum in einen Cluster mit 9 Elementen? Warum dann Unbundle? Warum nicht einfach IndexArray?
2. Warum nimmst du hier ein ExpressVI? Warum nicht einfach BuildArray?

Zu deinem Task: Warum erledigst du die Task-Erstellung nicht auch im VI? Hier hat man genauso viel/mehr Kontrolle üder die Parameter und kann das auch mit 3 DAQmx-Funktionen erledigen...

P.S.: Es gibt jede Menge Beispiel-VIs zu DAQmx! Hast du dir die schon mal angeschaut?
Hallo Gerd,

1. ich möchte die einzelnen eingelesenen Signale als Zahlenwert haben und deshalb habe ich nach einer Möglichkeit gesucht das Array nach dem Einlesen aufzusplitten, da ich keine andere Methode kenne habe ich es eben über Cluster und die "Aufschlüsseln" Funktion versucht. Die 9 Elemente hat er mir automatisch so erstellt.
Was du mit der Frage "Warum denn Unbundle?" meinst weiß ich leider nicht.
Und die Funktion "IndexArray" kenne ich leider nicht, da es mein erstes Programm in LabView ist.

2. Diese Möglilchkeit mit den verwendeten Bausteinen habe ich ja schon aus Beispiel-VI's genommen.
Mit der Funktion "BuildArray" ist es ähnlich wie mit "IndexArray" ich kenne die Funktion nicht, daher habe ich sie nicht verwendet

Vielleicht kannst du mir ja einen Tip geben, wie du das Problem ohne die Umwandlung in ein Cluster mit Hilfe der von die angesprochenen Arrayfunktionen realisieren würdest!?

Gruß
Timo
Hallo Timo,

ich würde IndexArray verwenden.

Wenn du diese Funktion nicht kennst:
- Es gibt kostenlose Einsteigerkurse zu LabVIEW, siehe auch meine Signatur!
- Kontexthilfe öffnen und mit der Maus über die Array-Funktionspalette fahren. Aufmerksam lesen...

Zitat:Die 9 Elemente hat er mir automatisch so erstellt.
Dafür gibt es einen Grund und der steht in der Kontexthilfe...

Zitat:deshalb habe ich nach einer Möglichkeit gesucht das Array nach dem Einlesen aufzusplitten, da ich keine andere Methode kenne habe ich es eben über Cluster und die "Aufschlüsseln" Funktion versucht.
Man will ein Array bearbeiten und nimmt dafür Funktionen aus der Cluster-Palette!? Schon klar...
Referenz-URLs