' schrieb:Zu diesem VI bewegt mich ein Frage: Wie synchronisiert sich die Schleife? Oder anders gefragt: Die Puffergröße von DAQmx Write beträgt 200 Samples. Wie regelt sich die Schleifengeschwindigkeit, so daß der DAQ-Buffer weder mit Daten zugemüllt noch ganz leer wird? Ich vermute, daß das DAQmx in der Schleife, wenn dort neue Daten eingegeben werden, nicht sofort danach den Task- und den Fehler-Ausgang bedient, sondern damit so lange wartet, bis der Buffer wieder aufnahmefähig ist. Ist das so?
wie es GENAU funtioniert kann ich dir auch nicht sagen. DAQmx Write.vi ruft ja eine DLL auf. Ich vermute mal, dass die DLL entweder den Puffer pollt oder irgendn einen ausgefuchsten Timing-Mechanismus hat. Die Schleifendurchlaufzeit entspricht auf jeden Fall genau der Zeit, die die analoge Ausgabe benötigt um die die in den Puffer geschriebenen Daten bei der eingestellten Sample-Rate auszugeben.
Das funktioniert erst seit DAQmx 8.irgendwas (??) und ich bin über diesen Umstand sehr begeistert. Gerade bei trad. DAQ war das ja eines der schwierigsten Probleme überhaupt eine vernünftige Synchronisierung zu programmieren. Nun kann man hardware-getimetes AO programmieren, und das ist schon ne feine Sache.
Die Hilfe zu dem Thema gibt sich übrigens etwas nebulös:
If the task uses on-demand timing, this VI returns only after the device generates all samples. On-demand is the default timing type if you do not use the DAQmx Timing VI. If the task uses any timing type other than on-demand, this VI returns immediately and does not wait for the device to generate all samples. Your application must determine if the task is done to ensure that the device generated all samples.
ich benutze aber das Timing VI, und da steht in der Hilfe: - nichts zu diesenm Thema -
interessant, gell? ich hab das durch try & error rausgefunden, im Speziellen hatte ich eine synchronisierte AI / AO Schleife, mit Hardware-Timing durch das AI. Irgendwann hatte ich das AI mal rausgenommen und mich dann gewundert, warum der AO Puffer nicht vollläuft ...
Farben der / Ränder um die Labels? hm ... egal, hauptsach die Drähte sind gerade