RE: daqmx ao stockt
Also, ich hab mir das mal angeschaut. Via Property-nodes bekomm ich raus, dass regeneration erlaubt ist und Buffer Grössen hab ich zwei verschiedene gefunden: Die OutputBufferSize ist 0 und die OnboardBufferSize ist 8191. Leider weiss ich nicht, was der Unterschied zwischen den beiden ist und woher die Einstellungen genau kommen. Wo und wie ich nachschauen kann, ob die Einstellung auf kontinuierlich gesetzt ist, weiss ich nicht. Aber da das vi eigentlich so lange läuft bis ich Stop drücke, gehe ich davon aus, dass es kontinuierlich ist.
Das Problem mit den Pausen ist, dass ich ein Feedback System implementiere. Grob gesagt sieht das ganze Programm so aus, dass in einem paralell laufenden Loop Daten gemessen werden und diese dann im Feedback-Loop verarbeitet und die Kontrollvariabeln neu gesetzt werden. Das heisst ich messe z.B. alle 40ms und will noch vor der nächsten Messung die Kontrollparameter neu anpassen. Das funktioniert auch, solange der Feedback-loop in 35ms einmal durchläuft. Wenn er aber plötzlich stecken bleibt, werden im Mess-loop immer noch alle 40ms Daten aquiriert, die sich dann in einem Buffer stauen und warten bis der Feedback-loop wieder zur verfügung steht. Ist dies dann wieder der Fall bekommt die Feedback-Berechnung in den nächsten paar Durchläufen Daten, die überhaupt nicht auf die Änderungen reagieren, die vom Feedback gemacht wurden, da sie ja schon vorher aufgezeichnet worden sind. Irgendwann hat der Feedback-loop dann den Mess-loop wieder eingeholt und kann sich wieder beruhigen. Aber jedesmal, wenn dieser Delay passiert "verschluckt" sich mein ganzes Feedback halt.
Also eigentlich will ich keinen Buffer haben, sondern jeden Wert, den ich setzte auch sofort ausgeben.
Ich hoffe, das ist einigermassen verständlich...
|