LabVIEWForum.de
Task Triggerung - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Task Triggerung (/Thread-Task-Triggerung)



Task Triggerung - sensei - 05.10.2005 13:32

Hallo,
ich habe mal wieder eine Frage : Es sollen Analogwerte getriggert eingelesen
werden. Die Triggerimpulse kommen von einem Drehwertgeber (2000 IMp / Umdrehung). Es werden 2000 Werte gesampelt. Die Erfassung wird ebenfalls getriggert gestartet. Dazu dient das 0 - Signal des Drehgebers mit dem der Task getriggert wird. Wen das funktioniert sollte das gesampelte Signal immer den gleichen Verlauf haben. Das Signal 'wandert' aber auf der Zeitachse. Mit anderen Worten : Wir fangen nicht immer zur gleichen Zeit mit dem sampeln an. Die Trigger werden abgefragt. Ohne Triggersignal läuft gar nichts. Warum funktioniert die Tasktriggerung nicht ?

Gruss der sensei


Task Triggerung - thomas.sandrisser - 05.10.2005 16:52

Ich schaetze mal, nachdem du mit Tasks arbeitest, laesst du dir auch die Daten als "Waveform" ausgeben!
Hier ist das Problem, dass sich LV einen Zeitstempel zusammen bastelt
(Zeit "Null" beim Auftreten des Triggers), deltaT (1/abtastrate) und den dazugehoerigen Y wert!
Wenn ein neuer Trigger kommt beginnt der Zeitstempel wieder bei 0 und dadurch kann es zu einem "zeitloch" bei der aufzeichnung der daten im graphen kommen!
wenn du das ganze umgehen willst arbeite ausschließlich mit den Y Werten und leg das ganze auf ein signalverlaufsdiagramm oder signalverlaufsgraphen (hier kannst ein deltaT angeben) -> ohne deltaT nimmt er Schrittweite 1

Ueberpruef das mal und sollte es dann noch immer net funzn, lass es mich (uns) wissen...


Task Triggerung - sensei - 05.10.2005 17:50

[quote=freedive]Ich schaetze mal, nachdem du mit Tasks arbeitest, laesst du dir auch die Daten als "Waveform" ausgeben!
Hier ist das Problem, dass sich LV einen Zeitstempel zusammen bastelt


Task Triggerung - thomas.sandrisser - 05.10.2005 19:32

das wanderbild beim oszi wird ja auch nur dadurch unterdrueckt indem man genau ein fenster raus schneidet und dadurch das stehende bild erreicht und genau das kann ein anzeigeelement in lv net :-)

im ms bereich - das wirft natuerlich ein komplett anderes licht :-)
aem, post mal deinen code...


Task Triggerung - M.Vollbrecht - 18.10.2005 14:06

freedive schrieb:das wanderbild beim oszi wird ja auch nur dadurch unterdrueckt indem man genau ein fenster raus schneidet und dadurch das stehende bild erreicht und genau das kann ein anzeigeelement in lv net :-)

im ms bereich - das wirft natuerlich ein komplett anderes licht :-)
aem, post mal deinen code...

Hat wegen Urlaub etwas länger gedauert mit dem posten aber besser späht als nie.

Danke fürs reingucken.


Task Triggerung - thomas.sandrisser - 18.10.2005 17:37

ok, nu ist mir klar warum werte verloren gehen...
wenn der daqmx bei jedem schleifendurchlauf neu initialisiert werden muss, koennen schon mal gut und gerne 100ms vergehen :-(

anbei findest ein beispiel, dass das ganze etwas anders handelt
der trigger wird an den counter gelegt - der counter generiert eine pulsfolge die fuer den AI als sample clock her genommen wird.
nach XXX samples stoppt der counter mit der generierung der pulse und wartet erneut auf den trigger - zugleich stoppt natuerlich auch der AI!

das beispiel findest z.B. auch ueber den example finder von LabVIEW
Bei Trigger Parameters stellst den externen Trigger ein, der die Messung starten soll. In der Rubrik Timing Parameters laesst du die ersten beiden Parameter gleich (lediglich das DevX aenderst!) - die beiden anderen Parameter sind die Abtastrate und die Anzahl der Samples die aufgenommen werden sollen...

Gruß
Tom


Task Triggerung - M.Vollbrecht - 26.10.2005 12:07

freedive schrieb:ok, nu ist mir klar warum werte verloren gehen...
wenn der daqmx bei jedem schleifendurchlauf neu initialisiert werden muss, koennen schon mal gut und gerne 100ms vergehen :-(

anbei findest ein beispiel, dass das ganze etwas anders handelt
der trigger wird an den counter gelegt - der counter generiert eine pulsfolge die fuer den AI als sample clock her genommen wird.
nach XXX samples stoppt der counter mit der generierung der pulse und wartet erneut auf den trigger - zugleich stoppt natuerlich auch der AI!

das beispiel findest z.B. auch ueber den example finder von LabVIEW
Bei Trigger Parameters stellst den externen Trigger ein, der die Messung starten soll. In der Rubrik Timing Parameters laesst du die ersten beiden Parameter gleich (lediglich das DevX aenderst!) - die beiden anderen Parameter sind die Abtastrate und die Anzahl der Samples die aufgenommen werden sollen...

Gruß
Tom

Hallo endlich habe ich Zeit gefunden dein Programm einzubinden. Doch leider sieht das Ergebniss nicht anders aus. Auch hier wandert meine Kurve, Falls noch irgendwo eine gute Idee rumgeistert, ich bin über jeden Ansatz dankbar.


Task Triggerung - thomas.sandrisser - 26.10.2005 15:01

hmmm, dann schreib mal deine daten in ein spreadsheet file (excel) und vergleich die werte oder verwende anstatt des waveform graphs einen xy graph...


Task Triggerung - schroeter - 26.03.2007 09:36

Da ich an einem ähnlichen Problem arbeite wie das oben geschilderte, möchte ich diesen Thread wiederbeleben.
Ich habe ebenfalls Signale von einem Drehwertgeber (Winkelscheibe) und möchte diese als Triggersignal für eine analoge Spannungsmessung benutzen.
So es nicht gegen alle Grundsätze von guter LV-Programmierung geht, würde ich mein Programm gerne mit dem DAQ-Assistenten realisieren.
Dort habe ich unter dem Menupunkt „Task-Triggerung“ eigentlich auch schon alles gefunden, was ich suche, aber leider habe ich es trotzdem nicht zum laufen bekommen.
Ziel ist es, dass ich pro Winkelimpuls von dem Drehwertgeber einen Messwert von der analogen Spannung aufnehme.

Würde mich sehr über Anregungen freuenBig Grin