Hallo zusammen,
ich schreibe gerade eine Prüfstandssteuerung, in der ich verschiedene Spannungsquellen über einen Analogeingang steuern möchte. Jetzt habe ich folgendes Problem: Ich möchte bei einer Quelle ein hardware-getaktetes Spannungsprofil laufen lassen und bei einer anderen Quelle einfach einen Wert vorgeben. Klingt erstmal machbar, aber irgendwie steckt der Wurm drin. Ich bekomme eine Fehlermeldung über gesperrte Ressourcen (leider ohne Angabe, welche Ressource gemeint ist). Ich habe ein Beispiel-VI angehängt. Wo liegt hier mein Fehler?
Gruß
Daniel
Hallo,
welche Hardware genau?
Ich gehe davon aus, dass das bei den meisten AO-cModulen nicht gehen wird, vor allem bei Einsatz in einem cDAQ. Da gilt wie bei AI - ein Task pro Modul.
Gruß, Jens
Hi,
ich nutze ein 9188 Chassis mit einem 9262 Modul. Dass nur ein Hardware getakteter Task möglich ist habe ich schon schmerzlich feststellen müssen ... damit komme ich aber klar. Tanks mit Software Timing sollten doch aber pro Kanal möglich sein laut
Link. Ist da keine Vermischung möglich?
Gruß
Daniel
Hallo,
ich habe dein Bsp ein wenig abgewandelt und per Error-Cluster für eine dedizierte Abfolge bei der Reihenfolge der Tasks gesorgt, und da kommt eine recht vielsagende Fehlermeldung bei raus.
[
attachment=61688]
Code:
Error -89137 occurred at DAQmx Start Task.vi:7220002
Possible reason(s):
Specified route cannot be satisfied, because it requires resources that are currently in use by another route.
Source Device: cDAQ1
Source Terminal: Software
Destination Device: cDAQ1
Destination Terminal: Slot7/ConvertPulse
Required Resources in Use by
Source Device: cDAQ1
Source Terminal: ao/SampleClock
Destination Device: cDAQ1
Destination Terminal: Slot7/ConvertPulse
Task Name: _unnamedTask<13>
Nicht über Slot7 wundern, in meiner simulierten MAX-Config des cDAQ hängt das AO-Modul in Slot 7. Ich interpretiere das so: Auf dem cModul kann nur ein Task laufen, alle AO-Werte werden offenbar bei einer Flanke am Terminal "ConvertPulse" gesetzt. Das funktioniert aber nicht, wenn du versuchst, 2 unterschiedilche Tasks auf demselben cModul zu starten.
Gruß, Jens
Hi Jens,
die Rückmeldung vom NI-Support ist leider ähnlich. Auch der gute Mann dort meinte, dass mehr als ein Task nicht möglich ist ... auch keine Mischung aus Hard- und Software getakteter Ausgabe.
Jetzt gibt es zwei Möglichkeiten:
1. Auf ein anderes System ausweichen
2. der Vorschlag von NI: eine Task für alle Kanäle erstellen und kontinuierlich ein Array ausgeben, dass dann ereignisbasiert geändert wird.
Gruß
Daniel
Hallo Daniel,
3. Wenn noch Platz im cDAQ ist, eine weitere AO-Karte reinstecken, das hat bei mir im simulierten cDAQ-Chassis funktioniert.
Gruß, Jens