LabVIEWForum.de
Schleife Verzögern für stabilen Takt - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Schleife Verzögern für stabilen Takt (/Thread-Schleife-Verzoegern-fuer-stabilen-Takt)



Schleife Verzögern für stabilen Takt - Movie - 30.07.2009 10:42

Hallo

Ich hab folgendes problem:

Eine Schleife erzeugt jeden durchlauf einen boolschen Wert den ich über den DAQ writer an ein Modul ausgebe.
Das Funktioniert alles ganz gut nur Schwankt die Ausgabe wohl je nach auslastung irgendwo zwischen 2-3 ms.
Damit ich einen kontinuierlichen Takt habe möchte ich das die Schleife alle 4ms durchlaufen wird.

Aus Lucki`s Beitrag vom 1.4.09 zum Thema: Prozessorauslastung vs Timing von jens_j
Weis ich schon mal das man die Finger von den Timing VI lassen soll. Leider wird sich da auf das Erfassen und nicht das Erzeugen bezogen. Ich habe auch unter den anderen Themen keine weiter führende erklärung gefunden warum die Timing VI nicht funktionieren.

Wäre Super wenn mir das noch mal jemand Kurz erklären könnte und natürlich einen Tip geben kann wie ich die Laufzeit
meiner schleife über die DAQ VI am sinnvollsten einstellen kann.

Schon mal Danke

Movie


Schleife Verzögern für stabilen Takt - unicorn - 31.07.2009 13:07

Benutze doch die Timed-Loop. Hier kann die Zykluszeit eingestellt werden und sogar festgestellt werden, ob und wieviel die Schleife zu spät war.

Falls Dein DAQ-Modul einen eigenen Timer hat, solltest Du diesen so konfigurieren und starten, dass er die gewünschten Signale erzeugt.


Schleife Verzögern für stabilen Takt - Lucki - 31.07.2009 13:41

Hast Du vielleicht auch mal einen Gedanken darin verschwendet, daß Du dem, der das erklären soll, 90% Arbeit ersparst, wenn Du das VI postest, bei dem bereits "alles ganz gut" funktioniert?


Schleife Verzögern für stabilen Takt - Movie - 03.08.2009 07:56

Guten Morgen

Danke Unicorn! an die Timed Loop hab ich garnicht mehr gedacht weil sie nicht bei meinen Timing Funktionen steht. Ich probiere das mal aus. Ob mein Modul (NI9472) in (NI cDAQ-9172) einen Timer hat muss ich noch mal nach gucken aber ich glaube da nicht so ganz dran.

Achso Lucki natürlich habe ich mit intensive gedanken darüber gemacht womit ich die Zeit derer belaste die meinen Beitrag lesen. Darum habe ich ja auch die Quelle angegeben die mir eine wichtige Information gegeben hat und darum habe ich auch die Programmteile weg gelassen die ihre Funktion schon erfüllen.

Es ging mir rein nach dem Blackbox prinzip darum wie ich einer Schleife die einen DAQ writer beinhaltet einen Takt geben kann und im Ideal fall warum es nicht mit "Warten" oder "Bis zum nächsten Vielfachen von ms warten" funktioniert um etwas dazu zu lernen.