INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

DAQ Write Zeitverzögerung



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

22.03.2010, 12:54
Beitrag #1

JanikaK Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Sep 2009

8.6
-
de

89081
Deutschland
DAQ Write Zeitverzögerung
Hallo!

Ich arbeite an einem-Datenerfassungsprojekt, bei dem ich die NI 6025E - Karte zur Erfassung verwende und mit LabVIEW 8.6 programmiere.

Bei meinem Programm kann man in einem Startfenster eine Funktion (Messen/Bearbeiten/Anzeigen/...) auswählen, die dann über eine Ereignisstruktur das jeweilige SubVI öffnet. In meinem Mess-VI habe ich zu Beginn 2 DAQ-Assistenten (Read + Write) verwendet. Programm hat soweit funktioniert, bis man das Mess-VI zum zweiten Mal aufgerufen hat, da trat dann ein Fehler bzgl. automat. Pufferkonfig..... auf. Daraufhin wollte ich den Write-DAQ-Assistenten durch DAQ-Code ersetzen......

Soweit auch ok. Als Ausgabedaten wird ein Sinus erzeugt. Der Sinus wird soweit auch ausgegeben, jedoch verstreicht zwischen jedem Writezyklus etwas Zeit, sodass das kontinuierliche Ausgangssignal immer eine kleine Zeitverzögerung beinhaltet. Anbei ein Screenshot der Anzeige und meines Test-VIs...

Ich weiß nicht wirklich wo diese Verzögerung herkommen und würde mich freuen, wenn jemand weiß wie ich dies vermeiden kann oder aber Ideen zur Ausmerzung einbringen kann!!!

Vielen Dank! JK



   

   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.03.2010, 14:17
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
DAQ Write Zeitverzögerung
' schrieb:Der Sinus wird soweit auch ausgegeben, jedoch verstreicht zwischen jedem Writezyklus etwas Zeit, sodass das kontinuierliche Ausgangssignal immer eine kleine Zeitverzögerung beinhaltet. Anbei ein Screenshot der Anzeige und meines Test-VIs...
Naja, immerhin wird zwischen zwei Write-Befehlen die Task gestoppt, geschlossen, neu created und gestartet. Das kostet natürlich etwas Zeit.

Versuch mal das Createn/Starten und Stoppen/Schließen außerhalb der Schleife zu machen.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.03.2010, 15:06
Beitrag #3

JanikaK Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Sep 2009

8.6
-
de

89081
Deutschland
DAQ Write Zeitverzögerung
Danke schon mal für den Hinweis!

Hatte ich so auch schon mal probiert, dann wird einmal eine Kurve ausgegeben und dann kommt nichts mehr... Zudem bekomme ich dann eine Fehlermeldung beim Beenden.... Was genau muss denn alles in die Whileschleife? Nur Starte Task und Wait??
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.03.2010, 15:32
Beitrag #4

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
DAQ Write Zeitverzögerung
' schrieb:Was genau muss denn alles in die Whileschleife?
So auf die Ferne würde ich sagen: DAQmx-Write (beachte: AutoStart=true!) und das rote Dreieck (Wait?) nach unten.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.03.2010, 15:52
Beitrag #5

JanikaK Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Sep 2009

8.6
-
de

89081
Deutschland
DAQ Write Zeitverzögerung
Habe nun mal ein bisschen in meinem Blockdiagramm aufgeräumt und es wieder angehängt. Ich kann wiederum nur einmal einen Sinus lesen und dann ist der Wert ~0.... Fehler (-200288) kommt immer noch beim Beenden....

Das kann doch nicht so schwierig sein *selbst ärger*

   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.03.2010, 16:04 (Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2010 16:07 von Lucki.)
Beitrag #6

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
DAQ Write Zeitverzögerung
Das Thema Synchronisation von AI und AO ist ein besonderes Kapitel, und so einfach parallel die beiden Tasks starten ist nicht das Gelbe von Ei.
Schau Dir mal die Beispiele unter
Signalerfassung.. mittels Hardware -->DAQmx -->Synchronisation --> mehrere Funktionen
an, suche das Passendste für Dich heraus, versuche es ganz zu verstehen.
Es gibt auch einige Beispiele von mir hier im Forum, eines z.B hier.
Bei Fragen melde Dich.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.03.2010, 16:08
Beitrag #7

JanikaK Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Sep 2009

8.6
-
de

89081
Deutschland
DAQ Write Zeitverzögerung
Werde ich machen. Danke!

Wobei ich das hier nicht das Problem sehe, denn dieses versetzte Signal sehe ich auch auf dem Oszi, welches ich gleich am AO-Ausgang abgreife...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.03.2010, 10:22
Beitrag #8

JanikaK Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Sep 2009

8.6
-
de

89081
Deutschland
DAQ Write Zeitverzögerung
Ich habe nun das angegebene Beispiel angeschaut und ausprobiert. Funktioniert generell, aber ich verstehe noch nicht ganz wo die Synchronistation herkommt. Wird dies durch den Digitaltrigger gemacht oder (meine Vermutung) über den Fehlercluster?


Habe das Beispiel so abgeändert, dass ein Sinus erzeugt und ausgegeben wird. Leider ist da immer noch der Versatz drin. Persiodendauer ist ca 1s, Pause zwischen den Signalen ca. 10ms, vereinzelt bis zu 50ms......(gemessen an Oszi) Habe nun in meinem LV-Buch [Georgi/Metin: Einführung in LabVIEW S. 314 (Kap. 16.2.3)] gelesen, dass diese Unterbrechungen durch die Kombination Angabe von Anzahl zu lesender/schreibender Samples und der Whileschleife kommen kann...... Kann ich hier irgendwas machen, damit das Signal kontinuierlich ausgegeben wird?

Vielen Dank nochmals für die Hilfe! JK
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.03.2010, 13:54
Beitrag #9

JanikaK Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Sep 2009

8.6
-
de

89081
Deutschland
DAQ Write Zeitverzögerung
Problem akzeptiert.... gelöst will ich mal nicht sagen..... ;-)

Habe das Prinzip der Synchronisierung übernommen, beide DAQ-Assistenten sind nun durch manuellen Code ersetzt. Ein Sinussignal wird kontinuierlich geschrieben, bei jeder dritten Periode ist ein kleiner Versatz drin, der für meine Anwendung momentan noch akzeptabel ist. Falls jemand trotzdem eine Idee hat wie ich den Versatz losbekomme - immer her damit...

Vielen Dank nochmal für Eure Unterstützung! JK
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Zeitverzögerung Echtzeitverarbeitung macoio 8 6.729 12.08.2010 22:03
Letzter Beitrag: macoio
  Zeitverzögerung Ausgang zu Eingang IoInBlack 5 4.473 01.07.2009 07:45
Letzter Beitrag: Santi
  DIO Zeitverzögerung einzelner Ausgänge Herbert 11 8.482 18.01.2007 18:34
Letzter Beitrag: IchSelbst

Gehe zu: