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!
23.02.2016, 14:38 (Dieser Beitrag wurde zuletzt bearbeitet: 23.02.2016 15:07 von mushroom.)
ich benutze eine NI PCI-6703 Karte zur Ausgabe analoger und digitaler (TTL) Spannungssignale. Die Verwendung des SubVI (LabView03.png, Set_QP_parameters_NI-PCI6703.vi) funktioniert scheinbar problemlos, allerdings erhalte ich eine Fehlermeldung (Leitungen belegt), wenn ich dieses SubVI mehrfach in einem übergeordneten VI (LabView04.png, auf der rechten Seite unten, 'Set QP Param PCI6703') verwende:
Code:
Requested operation could not be performed, because the specified digital lines are either reserved or the device is not present in NI-DAQmx.
It is possible that these lines are reserved by another task, the device is being used through the Traditional NI-DAQ interface, or the device is being reset. You might also get the error if the specified resource is currently in use by LabVIEW network variables bound to the DAQ Channel, or if the DAQ Channel is being used in any OPC Client software.
If you are using these lines with another task, wait for the task to complete. If you are using the device through the Traditional NI-DAQ interface, and you want to use it with NI-DAQmx, reset (initialize) the device using the Traditional NI-DAQ interface. If you are resetting the device, wait for the reset to finish.
Ich habe bereits das 'Clear Task' durch ein 'Control Task' mit der Freigabe der Recourcen ersetzt, was allerdings keinen Erfolg brachte. Weiß jemand wo das Problem liegt?
Markus
23.02.2016, 15:06 (Dieser Beitrag wurde zuletzt bearbeitet: 23.02.2016 15:09 von jg.)
Logisch: Du legst in der FOR-Schleife mehrere AO und DO Tasks an, schließt aber nur den letzten.
Gruß, Jens
P.S.: Wozu überhaupt die Tasks immer wieder anlegen, starten und stoppen? Erstell dir lieber ein AO und ein DO-FGV mit den Cases "Init" (Startet 1 gemeinsamen AO bzw. DO Task), Set (Setzt 1 Wert innerhalb des Task neu) und Stopp (Stoppt den gesamten Task am Ende).
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
vielen Dank für deine Antwort. Habe den stop und clear task jetzt in die Schleife reingezogen und funktioniert jetzt natürlich :-)
Ich sehe irgendwie noch nicht ganz durch mit den tasks, insbesondere gleichzeitig AO und DO zu nutzen. Was ist ein FGV? Werde es zunächst erstmal so nutzen, wie es jetzt ist, da noch einiges anderes zu tun ist, und das Experiment dann wieder laufen muss.
Zitat:Habe den stop und clear task jetzt in die Schleife reingezogen und funktioniert jetzt natürlich :-)
Eigentlich solltest du das Create/Init der DAQmxTasks aus der Schleife/den Schleifen herausnehmen.
Es ist einfach unsinnig (und für die Performance hinderlich), wenn man immer wieder Tasks neu anlegt und nach (kurzzeitigem) Gebrauch wieder löscht!
Schau dir doch einfach mal die mit LabVIEW mitgelieferten BeispielVIs an…
(23.02.2016 18:07 )GerdW schrieb: Eigentlich solltest du das Create/Init der DAQmxTasks aus der Schleife/den Schleifen herausnehmen.
Hallo GerdW,
ich verstehe den Hinweis irgendwie nicht. Ich brauche die Schleife ja, um meine physikalischen Kanäle anzusprechen. Dies kann ich ja nur in der Schleife lösen. Stehe da irgendiwe auf dem Schlauch. Die Beispiele von LabVIEW habe ich mir mal angeschaut, aber sehe da keinen hilfreichen Hinweis.
Mitglied seit fast 5 Jahren und noch nie etwas von FGV (Funktionaler globaler Variable) gehört? Dann wird es aber höchste Zeit. Such mal hier im Forum oder auf der NI-Seite danach.
Hier einmal ein schnell zusammengestelltes Bsp für die DO-Funktionalität.
(24.02.2016 10:10 )GerdW schrieb: ich nutze ja gern FeedbackNodes für (einfache) FGVs…
(Siehe Anhang.)
Ich eigentlich auch, aber ich habe mal mit der klassischen Umsetzung angefangen.
Wichtiger nachträglicher Hinweis:
Im Real-Einsatz gehört das Enum dann natürlich typdefiniert!!! Das habe ich mir jetzt gespart, sonst hätte ich 2 Dateien hochladen müssen.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!