LabVIEWForum.de
10ms Takt erstellen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: 10ms Takt erstellen (/Thread-10ms-Takt-erstellen)



10ms Takt erstellen - chris233 - 20.09.2006 10:22

Hallo Leute,

ich versuche seid Tagen einen 10 ms Takt zu erstellen. Ich benutze die DAQ-Card PCI-6259. LabVIEW 8.0.

Im Grunde funktioniert das auch, aber der Takt ist nicht konstant. Mal ist er 20 ms mal 40 mal nur 5 ms.


Kann doch nicht sein, oder ?


Nächste Frage: Warum ist keine Frequenz von 100µs oder noch kleiner möglich ?

Ist die Zeitliche Verschiebung abhängig von der vorgehenden Berechnung ?
(Wie schnell geht das überhaupt?)


10ms Takt erstellen - thomhof0 - 17.10.2006 12:22

Ich bin gerade auch auf der Suche nach einem Timer < 1 ms, aber bis jetzt leider ohne Erfolg.


10ms Takt erstellen - eg - 17.10.2006 12:27

Bei LV im normalen PC ist 1ms die kleinste Zeiteinheit.
Den Takt von 10ms könnte man mit TimeLoops probieren zu erzeugen. Es wird aber wahrscheinlich auch nicht 100%-ig genau sein.

Gruss, Eugen


10ms Takt erstellen - dc6xs - 17.10.2006 12:58

' schrieb:Bei LV im normalen PC ist 1ms die kleinste Zeiteinheit.
Den Takt von 10ms könnte man mit TimeLoops probieren zu erzeugen. Es wird aber wahrscheinlich auch nicht 100%-ig genau sein.

Gruss, Eugen

Da ich in meinem Projekt nen Schrittmotor per Parallelport takten muss hab ich das mit ner Sequenz-Struktur und dem Write Port-IO-VI gemacht. 20ms Periodendauer, also 10ms high und 10ms low-Pegel sind gut machbar mit dem Warte-N-ms Vi. Darunter geht es auch noch aber der Jitter steigt stark an, besonders wenn man den PC noch andere Sachen machen lässt.

Wie das mit ner DAQ-Karte ist kann ich leider nicht berichten..

Werd morgen mal mein VI hier teilweise posten, damit Ihr nen besseren Einblick habt was ich meine..

Gruß, Rob


10ms Takt erstellen - Michael5 - 17.10.2006 14:56

Meine Versuche in der Richtung haben mir gezeigt, dass es nur mit äußerster Gewalt möglich ist, einen einigermaßen genaue Takt unter Windows (egal welche Version) zu programmieren. Dazu musst du alles möglich vom Betriebssystem ausbremsen. Du solltest die Hardwaretimer von deiner PCI 6259 verwenden. Ich denke die Karte ist schnell genug um 10ms hinzubekommen. Diesen Timer kannst du ja auf einen Triggereingang programmieren. Das sollte bei NI ohne Hardwareaufwand gehen. Damit solltest du eine genaue Zeit hinbekommen.

Gruß Michael


10ms Takt erstellen - JoBlau - 20.10.2008 09:03

' schrieb:Meine Versuche in der Richtung haben mir gezeigt, dass es nur mit äußerster Gewalt möglich ist, einen einigermaßen genaue Takt unter Windows (egal welche Version) zu programmieren. Dazu musst du alles möglich vom Betriebssystem ausbremsen. Du solltest die Hardwaretimer von deiner PCI 6259 verwenden. Ich denke die Karte ist schnell genug um 10ms hinzubekommen. Diesen Timer kannst du ja auf einen Triggereingang programmieren. Das sollte bei NI ohne Hardwareaufwand gehen. Damit solltest du eine genaue Zeit hinbekommen.

Gruß Michael

Hallo zusammen!

Ich bin LabVIEW-Neuling, habe aber schon einige Erfahrung mit konventioneller Programmierung.
Aber im Moment beiße ich mir an der gleichen Problematik die Zähne aus. Vom Prinzip her weiß ich wie es gehen sollte:

Konfigurieren eines Counters als Abwärtszähler
Als Taktgeber nutze ich einen der internen Taktgeneratoren
Den Abwärtszähler lade ich mit einem Wert der sich wie folgt berechnet Zählerwert= Taktgeneratorfreq. / Samplefreq.
Den Ausgang des Counters verdrahte ich zum Trigger meiner gewünschten Funktion.
Die gewonnenen Messwerte schreibe ich in den FIFO-Speicher der Karte.
Die Karte generiert einen Interrupt für meine LabVIEW-Software, die dann die anstehenden Daten abholt.

Aus dem 424-Seitigen Manual zur PCI 6259 weiß ich, dass es so gehen müsste. Doch wie macht man das bei LabVIEW.
Mit dem DAQ-Assitenten bin ich nicht so richtig weitergekommen.

Viele Grüße

Joachim


10ms Takt erstellen - jg - 20.10.2008 10:47

' schrieb:Hallo zusammen!

Ich bin LabVIEW-Neuling, habe aber schon einige Erfahrung mit konventioneller Programmierung.
Aber im Moment beiße ich mir an der gleichen Problematik die Zähne aus. Vom Prinzip her weiß ich wie es gehen sollte:

Konfigurieren eines Counters als Abwärtszähler
Schau mal im NI-Examplefinder, entweder bei DAQmx->Digital IO oder den Counter Bsp, nach Continous Pulse Generation.
' schrieb:Als Taktgeber nutze ich einen der internen Taktgeneratoren
Den Abwärtszähler lade ich mit einem Wert der sich wie folgt berechnet Zählerwert= Taktgeneratorfreq. / Samplefreq.
Den Ausgang des Counters verdrahte ich zum Trigger meiner gewünschten Funktion.
Die gewonnenen Messwerte schreibe ich in den FIFO-Speicher der Karte.
Welche Karte? Liest du Messwerte mit 6259 ein, dann geht das ganze VIEL einfacher. Einfach Messwerte mit fester interner Taktrate einlesen (Bsp. im NI-Examplefinder).
' schrieb:Die Karte generiert einen Interrupt für meine LabVIEW-Software, die dann die anstehenden Daten abholt.

Gruß, Jens


10ms Takt erstellen - JoBlau - 28.10.2008 11:48

' schrieb:Schau mal im NI-Examplefinder, entweder bei DAQmx->Digital IO oder den Counter Bsp, nach Continous Pulse Generation.

Welche Karte? Liest du Messwerte mit 6259 ein, dann geht das ganze VIEL einfacher. Einfach Messwerte mit fester interner Taktrate einlesen (Bsp. im NI-Examplefinder).
Gruß, Jens

Ja ich setze die 6259 ein.
Allerdings muss ich noch eine weitere Aktion in das Programm aufnehmen.
Über den Analogausgang soll ein Dreiecksignal ausgegeben werden, das einen Piezosteller kontinuierlich bewegt. Dazu will ich auch den FIFO nutzen, damit mein Signal nicht ab und zu mal eine kleine Stufe drin hat.

Im Examplefinder bin ich übrigens sehr fündig geworden. Was heißen soll, ich muss mal das am leichtesten zu verstehende Beispiel, was am besten auf meine Anwendung passt, finden. Aber ich kämpfe mich durch. Das mit dem Examplefinder, war auf jeden Fall ein toller Tip. Man muss nur die Suche richtig eigrenzen!

Viele Grüße

Joachim Blau