15.03.2012, 19:33
Mit deinem Ansatz, nur bei "wirklicher" Drehbewegung zu messen, drehst du dich im Kreis, wenn dieser Vergleich hier gestattet ist. Woher willst du denn wissen, dass es sich bewegt? Du musst wohl oder übel messen. Ins Blaue hinein wartest du auf eine Flanke, im ungewissen über ihren Verbleib bangt dein DAQmx-Read dem Timeout entgegen. Um das Thema korrekt abzuarbeiten fehlen uns hier im Forum wahrscheinlich die Philosophen.
Jedenfalls: einen Fehler auszuwerten und entsprechend darauf zu reagieren ist nicht mit mangelndem Programmierstil, sondern dessen Gegenteil gleichzusetzen. Außerdem frägst du die Frequenz nicht ständig ab, sondern du wartest auf einen Event, nämlich eine steigende oder fallende Flanke. Frisst keine Leistung, tut niemandem Weh, daher zu empfehlen. Und wenn du bis Drehzahl nahe 0 messen/regeln willst musst du dir einen Sinus/Cosinus-Geber zulegen.
Jedenfalls: einen Fehler auszuwerten und entsprechend darauf zu reagieren ist nicht mit mangelndem Programmierstil, sondern dessen Gegenteil gleichzusetzen. Außerdem frägst du die Frequenz nicht ständig ab, sondern du wartest auf einen Event, nämlich eine steigende oder fallende Flanke. Frisst keine Leistung, tut niemandem Weh, daher zu empfehlen. Und wenn du bis Drehzahl nahe 0 messen/regeln willst musst du dir einen Sinus/Cosinus-Geber zulegen.