Auswertung von zwei Inkrementalgebern - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ) +---- Thema: Auswertung von zwei Inkrementalgebern (/Thread-Auswertung-von-zwei-Inkrementalgebern) |
Auswertung von zwei Inkrementalgebern - RabenFlug - 13.06.2012 10:50 Hallo liebe Leute, 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 ? RE: Auswertung von zwei Inkrementalgebern - Soean - 13.06.2012 11:00 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. RE: Auswertung von zwei Inkrementalgebern - jg - 13.06.2012 11:10 Kannst du nochmal genauer deine Hardware spezifizieren. Unter NI 9401 verstehe ich erst einmal nur das c-Serie-Einsteckmodul, und das hat selber keine Counter. Also, wo steckt das bei dir drinnen? Gruß, Jens RE: Auswertung von zwei Inkrementalgebern - RabenFlug - 13.06.2012 11:57 Hallo Jens, es handelt sich genau um das Modul. Es steckt in einer cDAQ-9174 Chassis RE: Auswertung von zwei Inkrementalgebern - RabenFlug - 14.06.2012 10:39 (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,ctr1Leider 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 :/ RE: Auswertung von zwei Inkrementalgebern - RabenFlug - 14.06.2012 10:54 (13.06.2012 11:10 )jg schrieb: ...und das hat selber keine Counter...Bist du sicher ? ich sehe hier 4 Counter: DAAQ8DigialIO/ctr0 DAAQ8DigialIO/ctr1 DAAQ8DigialIO/ctr2 DAAQ8DigialIO/ctr3 DAAQ8DigialIO ist der Name der NI9401 Karte im NI cDAQ9174 Modul. RE: Auswertung von zwei Inkrementalgebern - jg - 14.06.2012 11:06 (14.06.2012 10:54 )RabenFlug schrieb: DAAQ8DigialIO ist der Name der NI9401 Karte im NI cDAQ9174 Modul.Ja, bin ich, die Counter kommen aus dem cDAQ-Chassis! Gruß, Jens RE: Auswertung von zwei Inkrementalgebern - RabenFlug - 14.06.2012 13:48 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. RE: Auswertung von zwei Inkrementalgebern - RabenFlug - 11.09.2012 12:25 Hallo Leute, 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. LabView 2011 Deutsch RE: Auswertung von zwei Inkrementalgebern - Sundypha - 18.10.2012 10:13 Hallo RabenFlug, Du hast doch die Lösung schon selbst gebracht. http://digital.ni.com/public.nsf/allkb/0495B7D5E2345DF386257730007EFD17?OpenDocument Hast du die Counter auch reserviert? Laut deinem Snippet noch nicht. ansonsten hatte ich das gleiche Problem und dein Post hatte mir da weitergeholfen: http://www.labviewforum.de/Thread-Flowmeter-Flankenzaehlung-Fehler-201133 |