Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
ich würde gerne mehrere AI - Kanäle einem Task hinzufügen, wobei ich für die Kanäle unterschiedliche Skalierungen habe. Desweiteren möchte ich auch bei der Anzahl von Kanälen variabel bleiben. Dafür ist eine For-Schleife glaub ich die richtige Lösung. Leider komme ich nicht drauf, wie ich das Task nun weiter verweden kann, da es als Array ausgegeben wird. Im Screenshot stellt sich das Problem direkt nach der Schleife dar:
Nur so ne Idee:
Forschleife um die DAQ Elemente..? Mit Autoindexing des Kanalarrays.
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Du kannst die kein Array von Tasks oder Kanälen auf die Weise verarbeiten, sondern musst jedes einzelne Element in deinem Array einzeln ansprechen.
Also Array in Einzelteile zerlegen und die Tasks weiterverarbeiten. Wenn das ganze dznamisch geschehen soll, dann bleiben dir nur noch mehr For-Schleifen um das zu machen.
Ich hatte im Forum bereits diese Möglichkeit mit der For-Schleife gesehen: http://www.LabVIEWforum.de/index.php?showt...mode=linearplus
welche dem sequentiellen Erzeugen von Kanälen in einem Task gleichwertig sein soll. Es müsste denke ich funktionieren.
Wenn ich alle DAQ-Elemente in die Schleife packe bekomme ich beim Auslesen des Tasks in der While-Schleife dasselbe Problem.
ich habe eine Lösung gefunden die zu funktionieren scheint:
Ersetzen der Autoindizierung des Tasks durch Schieberegister.
Dann noch den ersten Kanal vor der Schleife erzeugen, ansonsten kommt LabVIEW wohl durcheinander. Das ganze sieht dann so aus:
Bessere bzw. übersichtlichere Möglichkeiten mehrere Kanäle mit individuellen Einstellungen zu erzeugen würde ich natürlich gerne kennenlernen.
Grüße,
Kai
Anzeige
15.01.2010, 14:53 (Dieser Beitrag wurde zuletzt bearbeitet: 15.01.2010 14:53 von Lucki.)
' schrieb:ich habe eine Lösung gefunden die zu funktionieren scheint:
So wie Du es gemacht hast ist es richtig. Der im vorigen Beitrag genannte Link führt auf ein Beispiel von mir, welches denselben Fehler enthält wie Du am Anfang gemacht hast. Bitte vielmals um Entschuldigung. Also Falsch: Autoindexieren der Task. Richtig: Shift-register.
' schrieb:Ich bin mal so frei und poste hier wie ich das mache (gilt nur als Muster).
Wieso wird in dieser Lösung kein Schieberegister benutzt ...
... wie im letzten Screenshot von Likakir? Wo landet denn die Information über den neu erzeugten Kanal? Im Task-"String" wird's also nicht versteckt so wie ich es gedacht hätte.
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
10.03.2010, 15:32 (Dieser Beitrag wurde zuletzt bearbeitet: 10.03.2010 15:40 von IchSelbst.)
' schrieb:Wo landet denn die Information über den neu erzeugten Kanal? Im Task-"String" wird's also nicht versteckt so wie ich es gedacht hätte.
Der "Task-Wire" ist keine Variable im engeren Sinne wie Int32, String, Cluster, Array etc., sondern ganz allgemein ein Handle! Alles, was für die Task benötigt wird, steht in irgendeiner Instanz irgendwo im DAQmx-Treiber. Der "Task-Wire" ist lediglich eine Kennung, damit der DAQmx-Treiber weis, welche Instanz gerade angesprochen werden soll. Und eine solche Kennung ist eben ein Handle.
Daher funktioniert die ganze Sache auch mit Tunnels. Dass Schieberegister diverse Vorteile haben, spielt in diesem Falle nur eine untergeordnete Rolle.
Nachtrag:
Es ohne Schieberegister zu machen, hat einen großen Nachteil: sollte sich der DAQmx-Treiber dazu hinreißen lassen, den Handle umzubennenen, tritt ein Problem auf. Ob der Treiber Umbenennungen machen kann oder grundsätzlich ausschließt, weis ich nicht. Kann's mir aber vorstellen.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).