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 

Zu großer Zeitversatz bei Signalausgabe



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!

26.09.2008, 10:11 (Dieser Beitrag wurde zuletzt bearbeitet: 26.09.2008 10:12 von Block.)
Beitrag #1

Block Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Jul 2008

8.00
2008
de

52070
Deutschland
Zu großer Zeitversatz bei Signalausgabe
Hallo!

Ich habe dieses kleine Programm erstellt und habe folgendes Problem. Die Übergabe der Zeit von der Analyse meines ankommenden Signals funktioniert ganz gut und ich über gebe immer den Zeitpunkt meines maximalen Wertes. Der Wert "Time of Maximum" wird richtig an die "Elapsed Time 2" Funktion über geben und ich addiere einen Wert (2) als Verzögerung hinzu, warte dann noch eine Sekunde und gebe dann das Signal für meinen externen Trigger frei. Aber diese Freigabe dauert zu lange und die Zeit ist auch nicht reproduzierbar. Was kann ich da machen?
Das ankommenden Signal ist sinusförmig und hat eine Frequenz von 1Hz.
In dem Bild seht ihr die Ausleseparameter für das ankommende Signal!


I/O Karte PCI 6013

LabVIEW Version 8.0

Danke!


Angehängte Datei(en) Thumbnail(s)
   

Sonstige .vi  MAX_Signal_26092008.vi (Größe: 316,46 KB / Downloads: 183)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.09.2008, 11:48
Beitrag #2

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Zu großer Zeitversatz bei Signalausgabe
Also die "elapsed Time" wird mir der Zielzeit vorgegeben und nicht mit der Startzeit. Lies mal in der Hilfe nach, was da komisches über "Startzeit festlegen" steht. Daran habe ich mich noch nie vergriffen und ich würde sagen das benutzt kaum jemand. Was mit außerdem auffällt: Nicht 2 verschiedene DAQ-Assistenten für die Ausgabe verwenden. In den Case kommen nur die unterschiedlichen Datenkonstanten rein, der DAQ-Assistent sollte außerhalb liegen, dann brauchst Du auch nicht zwei davon. (Noch besser wäre allerdings, den DAQ-Assistenten nur bei jeder Änderung der Daten aufzurufen)
Mir ist das ganze Konstrukt undurchsichtig. Z.B sehe ich nicht, wo Du, wie Du schreibst, eine "Wartezeit von1 s" hinzufügst. Daß das VI "elapsed Time" niemals wartet, das weißt Du schon?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.09.2008, 11:55
Beitrag #3

Block Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Jul 2008

8.00
2008
de

52070
Deutschland
Zu großer Zeitversatz bei Signalausgabe
' schrieb:Also die "elapsed Time" wird mir der Zielzeit vorgegeben und nicht mit der Startzeit. Lies mal in der Hilfe nach, was da komisches über "Startzeit festlegen" steht. Daran habe ich mich noch nie vergriffen und ich würde sagen das benutzt kaum jemand. Was mit außerdem auffällt: Nicht 2 verschiedene DAQ-Assistenten für die Ausgabe verwenden. In den Case kommen nur die unterschiedlichen Datenkonstanten rein, der DAQ-Assistent sollte außerhalb liegen, dann brauchst Du auch nicht zwei davon. (Noch besser wäre allerdings, den DAQ-Assistenten nur bei jeder Änderung der Daten aufzurufen)
Mir ist das ganze Konstrukt undurchsichtig. Z.B sehe ich nicht, wo Du, wie Du schreibst, eine "Wartezeit von1 s" hinzufügst. Daß das VI "elapsed Time" niemals wartet, das weißt Du schon?

Danke für deine Antwort Lucki!
Aber leider bin ich nicht so der Fachmann auf dem Gebiet. Benutzt man die Elapsed Time Funktion nicht dazu durch die Angabe einer Zeit (Start) noch 1 oder beliebige Sekunden zu warten und die folgende Funktion erst nach Ablauf der Zeit zu starten? Da die Funktion nicht wartet addiere ich ja vorher den Wert 2 zu meinem Zeitwert um dem Programm die nötige Zeit zu geben reagieren zu können.

Wie kann ich denn nur ein einziges DAQ_Element für beide Funktionen (analoge Eingabe und digitale Ausgabe) benutzen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.09.2008, 14:05 (Dieser Beitrag wurde zuletzt bearbeitet: 26.09.2008 14:06 von Lucki.)
Beitrag #4

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Zu großer Zeitversatz bei Signalausgabe
Bin stark frustriert, habe auführlich geantwortet und dann vergessen den "speichern" -Knopf zu drücken.
Also wenigstens ganz kurz:
Ja, die "elapsed time" wartet nicht, sondern gib (u.a.) nur den Status aus, ob die Zeit verstrichen ist oder nicht.
Jedes Warten in der Haupschleife (im Sinne einer zusätzlichen Verzögerung) wäre auch falsch, da Du kontinuierliche Datenerfassung hast. Das funktioniert bei Dir so: Der DAQ-Assistent blockiert, bis wieder 100 Daten im Buffer sind. Bei 100Hz hast Du also eine Schleifendurchlaufzeit von 1s. Die Schleifenwartezeit synchronisiert sich also mit den Daten im Puffer. Wenn Du da noch zusätzliche Warteintervalle einfügst, besteht die Gefahr, daß der Puffer mit der Zeit überläuft.
Zu den DAQ-Assistenten: Selbstverständlich brauchts Du getrennte Assistenten für Input und Output. Aber nicht mehrere Aissistenten für den Zugriff auf die gleiche Hardware(Leitung). Bei Dir scheint das aber gutzugehen, es ist nur unnötig. Bei einmaliger Ausgabe ist wahrscheinlich die ganze Task nach der Ausgabe vergessen, so daß LV gar nicht mitbekommt, daß du mit zwei verschiednen Assitienten auf die gleiche Leitun zugreifst. Aber wenn es LV bemerken würde, dann wäre LV böse auch Dich und würde Dich bestrafen O
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.09.2008, 14:28
Beitrag #5

Block Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Jul 2008

8.00
2008
de

52070
Deutschland
Zu großer Zeitversatz bei Signalausgabe
Vielen Dank schon mal für deine Mühe! Ärgerlich wenn man die Daten nicht speichert, passiert mir auch häufiger.

Hast du vielleicht eine Idee wie ich das Problem umgehen könnte, ohne einen direkten Zeitvergleich oder vielleicht einen ganz anderen Ansatz? Ich bekomme so einfach kein annehmbares Signal (zeitlich) für meinen externen Kameratrigger. Im Grunde müsste das doch einfacher gehen, da ich mein Eingangssignal (konstant 1Hz) sauber analysieren kann und den Zeitpunkt des Maximums kenne. Ich möchte eine oder zwei Schwingungen später zum gleichen Zeitpunkt (Maximum) ein Bild machen also ein Signal an meinem Trigger schicken. Die Zeitverzögerung die durch die Laufzeit des Signals und die Verarbeitung des Triggers entstehen sind sehr sehr klein.#

Danke!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Analog-IN Zeitversatz der Kanäle gottfried 7 6.146 18.02.2017 10:48
Letzter Beitrag: gottfried
  Vier unabhängige Kanäle Signalausgabe "on the Fly" änderbar Klacknack 4 4.119 08.01.2015 14:47
Letzter Beitrag: GerdW
  Zeitversatz zwischen 2 digitalen Eingängen messen (High-Pegel, NI 9421) Ulli-Macky 1 4.154 31.03.2014 15:03
Letzter Beitrag: GerdW
  Zeitversatz zwischen Drehzahl- und Winkelmessung js 7 9.239 10.06.2011 15:49
Letzter Beitrag: js
  Problem bei Signalausgabe waterman 4 5.020 18.01.2011 14:29
Letzter Beitrag: waterman
  Parallele Signalausgabe auf analoger Output Karte bcssima 3 5.646 07.10.2010 13:13
Letzter Beitrag: jg

Gehe zu: