LabVIEWForum.de
Zeitstempel aus Signalverlauf generieren - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: Zeitstempel aus Signalverlauf generieren (/Thread-Zeitstempel-aus-Signalverlauf-generieren)



Zeitstempel aus Signalverlauf generieren - PeteFlosse - 01.06.2017 09:40

Hallo miteinander,

ich nehme mit einem NI USB-6361 Messwerte auf und schreibe sie in ein Logfile weg.
[attachment=57877] (alle 8,15ms kommt ein Puls von 150µs Länge)
[attachment=57876] (habe das VI mal etwas vereinfacht)

Mein Problem ist nun, dass ich im logfile nur für die ersten zehn Werte einen Zeitstempel erhalte.
[attachment=57874]
Das würde im Prinzip den zehn Messwerten meines ersten Trigger entsprechen. Alle darauffolgen Trigger bekommen bei mir im logfile keinen passenden Zeitstempel mehr.
Was verstehe oder mache ich falsch?

Vielen Dank schon mal für eure Hilfe!

Gruß
Pete


RE: Zeitstempel aus Signalverlauf generieren - jg - 01.06.2017 10:30

In den geposteten VIs kann ich auf die Schnelle keinen Fehler erkennen. Wie werden denn die Signalverläufe erstellt? Schon Debugging betrieben? Was stehen denn für Time-Stamps in den wegzuschreibenden Waveforms?

Gruß, Jens


RE: Zeitstempel aus Signalverlauf generieren - PeteFlosse - 02.06.2017 13:05

Ich habe mir mal das Waveform genauer angeschaut und es war tatsächlich ein sehr banaler Fehler von mir.Blush
Das Array besitzt immer nur 10 Einträge mit einem gültigen Zeitstempel. In allen anderen Zellen steht der Standardwert. Mein Trigger-Zähler läuft allerdings nicht nur von 0-9 sondern darüber hinaus. Deshalb erscheinen mir im Logfile dann auch nur die Standardwerte. Den Trigger-Zähler habe ich jetzt entfernt und durch eine Konstante [0] ersetzt. So erhalte ich immer den Zeitstempel des ersten der 10 Werte.
Jetzt funktioniert zumindest das schon einmal richtig (aktuelles, vereinfachtes VI nochmal angehängt).

Jetzt hat mich allerdings etwas anderes stutzig gemacht.
Und zwar liegen die Zeitstempel immer exakt 400µs auseinander. Was gemäß dem zeitlichen Ablauf meines Trigger-Signals nicht sein kann (Trigger-Signal kommt richtig an, wurde am oszi überprüft). Woran kann das liegen?

[attachment=57885]
[attachment=57883]

Gruß
Pete


RE: Zeitstempel aus Signalverlauf generieren - PeteFlosse - 08.06.2017 12:28

(02.06.2017 13:05 )PeteFlosse schrieb:  Jetzt hat mich allerdings etwas anderes stutzig gemacht.
Und zwar liegen die Zeitstempel immer exakt 400µs auseinander. Was gemäß dem zeitlichen Ablauf meines Trigger-Signals nicht sein kann (Trigger-Signal kommt richtig an, wurde am oszi überprüft). Woran kann das liegen?

Wurde meine Frage nur übersehen oder kann sich tatsächlich niemand einen Reim darauf machen? Smile


RE: Zeitstempel aus Signalverlauf generieren - PeteFlosse - 13.06.2017 12:47

Hallo miteinander,

ich habe mittlerweile evtl eine Erklärung für das Phänomen gefunden. Warum das allerdings so ist, kann ich noch immer nicht verstehen. Ich hoffe meine folgende Erklärung ist einigermaßen verständlich. Blush

Mein Sample-Task ist so eingestellt, dass eine endliche Anzahl von 40 Samples mit einer Rate von 200kHz aufgenommen werden sollen, sobald ein Trigger-Puls kommt. Das heißt, dass nach einem Trigger-Puls für 200µs gesampelt wird. Diese Daten stehen dann in meinem Waveform.
Beim nächsten Trigger-Puls werden die nächsten Daten einfach angehängt. Somit ergibt sich im Waveform eine Schrittweite von 200µs von Puls zu Puls (im folgenden Bild muss man die Zeiten von links nach rechts lesen).

[attachment=57898]

Scheinbar wird nur beim ersten Trigger-Puls ein t0 gezogen und bei allen darauffolgenden Trigger-Pulsen nicht mehr. Somit stimmen die Zeiten im logfile auch nicht.
Wenn ich mir einen aktuellen Zeitstempel manuell ziehe und im waveform das t0 damit ersetze, scheint es zu lange zu dauern. Ich bekomme im logfile sehr unregelmäßige Zeitabstände die im höheren ms-Bereich liegen, statt im kleinen ms-Bereich.

Deshalb meine Frage:
Wie kann ich in so einem Fall einen passenden Zeitstempel aus dem Signalverlauf heraus generieren?
Es muss doch irgendwie möglich sein einen quasi pausierenden Signalverlauf mit einem korrekten Zeitstempel zu versehen...

Gruß
Pete