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!
13.06.2012, 10:50 (Dieser Beitrag wurde zuletzt bearbeitet: 13.06.2012 10:51 von RabenFlug.)
da ich inzwischen am Verzweifeln bin und über die Suche leider keinen ähnlichen Fall gefunden habe, starte ich einen neuen Thread.
Ich möchte gerne mittels LabView 2011 und einer NI9401 (8xDigial/2Counter) Karte den Weg von zwei Inkrementalgebern auswerten. Dazu habe ich zwei Mess-Tasks erstellt. Das Problem ist, dass die Zähler zwar einzeln funktionieren, jedoch nicht beide gleichzeitig. Es erscheint die Fehlermeldung "Fehler -201133" "Das Gerät kann nicht für Ein- oder Ausgabeoperationen konfiguriert werden, weil Leitungen oder Anschlüsse dieses Gerätes von einem anderen Task oder einer anderen Verbindung verwendet werden.".
Bei der Initialisierung habe ich zwei Mess-Tasks erstellt, einer für DAAQ8DigialIO/ctr0 und einer für DAAQ8DigialIO/ctr1 und jeweils die entsprechenden Eingangs-Pins zugewiesen (PFI0+PFI2 / PFI4+PFI6). Eigentlich dürfte es durch die unterschiedlichen Threads doch keine Probleme beim Auslesen in der gleichen Hauptschleife geben, oder ? Laut Datenbaltt hat die NI9401 zwei eigenständige Counter an Bord. Kurioserweise funktioniert es manchmal ausgezeichnet und manchmal nicht. Ich habe den Eindruck dass die beiden Zähler mittels DAQmx nicht "gleichzeitig" gelesen werden können, kann das sein ?
Spricht etwas dagegen beide Counter mit dem Selben Task abzufragen? Syntax sollte so oder so ähnlich aussehen:DAAQ8DigialIO/ctr0,ctr1
Dann musst du natürlich das Auslesen der Messwerte dementsprechend anpassen.
(13.06.2012 11:00 )Soean schrieb: Spricht etwas dagegen beide Counter mit dem Selben Task abzufragen? Syntax sollte so oder so ähnlich aussehen:DAAQ8DigialIO/ctr0,ctr1
Dann musst du natürlich das Auslesen der Messwerte dementsprechend anpassen.
Leider tritt das Problem bereits beim Initialisieren des zweiten Counters (Tasks) auf. Laut der Kontexthilfe muss für jeden Kanal ein eigener Task erstellt werden. Um so mehr wundert mich, dass LabView meldet, die Leitungen würden "von einem anderen Task" verwendet. Das stimmt nicht, über einen Eigenschaftsknoten habe ich jedem Counter eigene, unterschiedliche physikalische Kanäle für A und B zugeordnet :/
Das Problem scheint gelöst, geholfen hat dabei dieser NI Artikel. Danach hat die Initialisierung zunächst fast immer geklappt. Seit am Anfang ein "Task erzeugen" kamen keine Fehler mehr. Hoffentlich bleibt es auch so.
da sich meine Anforderungen geändert haben musste ich noch mal an das Thema "Counter" ran und stehe wieder vor dem gleichen Problem.
Ich verwende ein NI cDAQ-9178 USB Chassi mit 4 Hardware-Countern
Dazu eine NI-9401 Digitalkarte.
Nun würde ich gerne an 2 Eingängen "gleichzeitig" steigende Flanken zählen und habe dazu im "Measurement & Automation Explorer" 2 Tasks erstellt, einen für Counter0 (ctr0) und einen für Counter1 (ctr1). Die Counter haben unterschiedliche Eingangspins (PFI0 und PFI4)
Wenn ich diese Tasks nun starte, startet immer nur der Erste. Der Zweite wirft die angehängte Fehlermeldung.
Was könnte das Problem sein ? Die Chassis hat doch "extra" 4 eigenständige Zähler, in der Doku steht dass pro Zähler ein Task gestartet werden muss.