Salü zusammen
Ich habe folgenden Aufbau:
Zwei Durchflussmesser (Turbinen) erzeugen ein Rechtecksignal mit einer vom Durchfluss abhängigen Frequenz. Unter anderem diese beiden Frequenzen will ich messen. Dazu habe ich das cDAQ-9178 mit dem Digital-Modul 9401. Die Signal sind an die Gate-Anschlüsse von Counter 1 und Counter 2 auf diesem Modul verbunden.
In meinem Programm wird nacheinander je einen Task für die Messung der Frequenz per Counter erstellt. Die Tasks werden dann gestartet. Das Timing der Tasks ist "Implizit", die Messwerte werden also nach jeder Periode des Signals in der Buffer geschrieben. Das Programm liest dann in einer While-Schleife zuerst alle Sample aus dem Buffer des ersten und dann des zweiten Tasks aus, bildet jeweils den Mittelwert und gibt diese auf dem GUI wieder.
Nun habe ich folgendes Problem:
Der zweite Task kann nicht gestartet werden. Es wird folgende Fehlermeldung ausgegeben:
Zitat:Fehler -89130 ist bei DAQmx Start Task.vi:1 aufgetreten
Mögliche Ursachen:
Gerät ist für das Routing nicht verfügbar. Es ist möglich, dass das Gerät zurückgesetzt werden muss oder gerade zurückgesetzt wird.
Wenn das Gerät gerade zurückgesetzt wird, warten Sie bis der Vorgang abgeschlossen ist.
Wenn das Gerät zuvor über den traditionellen NI-DAQ verwendet wurde, muss das Gerät zurückgesetzt werden, bevor die gewünschte Verbindung hergestellt werden kann. Bei SCXI-Geräten muss das kommunizierende DAQ-Gerät zurückgesetzt werden. Rufen Sie dazu das VI "Gerät zurücksetzen" des traditionellen NI-DAQ-Treibers oder die Funktion Init_DA_Brds auf. Um alle Geräte, die mit dem herkömmlichen NI-DAQ-Treiber betrieben werden zurückzusetzen, klicken Sie mit der rechten Maustaste auf den Ordner "Traditionelle NI-DAQ-Geräte" in MAX und wählen "Treiber für herkömmlichen NI-DAQ zurücksetzen".
Task-Name: _unnamedTask<4B>
Ausserdem funktioniert die Messung des ersten Tasks nur selten, meistens werden gar keine Werte aus dem Buffer gelesen.
Angehängt findet ihr das SubVI. Weiss einer vielleicht Rat?
Grundsätzlich stellt sich mir bei der Verwendung von DAQmx immer die Frage: Darf ich mehrere Tasks erstellen, die dasselbe Modul aber eine andere Leitung verwenden? Dürfen diese Tasks parallel laufen oder muss sichergestellt sein, dass nur immer einer auf die Ressource zugreift?
Grüsse
Roman