LabVIEWForum.de
Zeitdifferenz bestimmen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Zeitdifferenz bestimmen (/Thread-Zeitdifferenz-bestimmen)

Seiten: 1 2


Zeitdifferenz bestimmen - LabViewPete - 26.10.2015 17:07

Hey Leute,

ich habe eine while-Schleife, in der ich permanent den Zustand einer Maschine auslese. Nun möchte ich, wenn ein bestimmtes Bit von 0 auf 1 springt, eine Zeitmessung beginnen lassen und beenden wenn dieses Bit wieder von 1 auf 0 springt. Ich habe versucht, die Funktion "Timerwert auslesen" in eine Case-Struktur einzufügen und mit einem Schiebregister den ersten ausgelesen Timerwert in den zweiten Case (wenn das Bit von 1 auf 0 springt) weiterzuleiten und von dem neu ausgelesenen Timerwert zu subtrahieren. <Leider werden im Verlauf des Programmes alles Zeitdifferenzen so aufaddiert. Wie muss ich das Programm gestalten, wenn nach dem Erfassen einer Zeitdifferenz die ausgelesenen Timerwerte wieder auf null gestellt werden sollen? Vielen Dank für eure Ideen!


RE: Zeitdifferenz bestimmen - LabViewPete - 26.10.2015 18:28

Sorry, das Problem lässt sich vereinfachen. Und zwar möchte ich in Abhängigkeit vom Wert dieses Bits eine Zeitmessung starten (Wert 1) oder den Wert einfach nur halten wenn das Bit auf null springt. Es ist vermutlich super einfach, ich komme jedoch einfach nicht drauf. Vielen DanK!


RE: Zeitdifferenz bestimmen - IchSelbst - 26.10.2015 21:35

(26.10.2015 18:28 )LabViewPete schrieb:  Und zwar möchte ich in Abhängigkeit vom Wert dieses Bits eine Zeitmessung starten (Wert 1) oder den Wert einfach nur halten wenn das Bit auf null springt.
Der Möglichkeiten gibt es bestimmt viele. Und jede einzelne ist von der Umgebung, in der sie eingesetzt wird, abhängig.


RE: Zeitdifferenz bestimmen - Lucki - 26.10.2015 23:08

Man kann dafür auch die Funktion "verstrichene Zeit" verwenden.Und in den Eigenschaften einer normalen numerischen Anzeige kann man u.a. auch das Format hh:mm: ss.s einstellen:
[attachment=54399]


RE: Zeitdifferenz bestimmen - LabViewPete - 27.10.2015 15:03

Ich habe mich für die Alternativ mit der verstrichenen Zeit entschieden. Ich habe das VI so gestaltet, dass wenn das Bit auf 1 steht, die Case-Struktur aufrufen wird, in der die verstrichene Zeit ausgelesen wird und über ein numerisches Ausggabefeld in jeder Iteration der While-Schleife angezeigt wird. Für den Fall, dass das Bit auf 0 steht, wird der zuletzt angezeigte Wert der verstrichenen Zeit über ein Schieberegister von Iteration zu Iteration einfach nur durchgeleitet ohne in der Case-Struktur das Element "Verstrichene Zeit" erneut aufzurufen. Nun habe ich das Problem, dass selbst wenn das Bit auf 0 steht die Zeit anscheinend weiterläuft. Wie kann ich dieses Verhalten unterbinden? Vielen Dank!


RE: Zeitdifferenz bestimmen - LabViewPete - 27.10.2015 15:36

Und kann man sich die verstrichene Zeit eigentlich auch in ms anzeigen lassen?


RE: Zeitdifferenz bestimmen - GerdW - 27.10.2015 19:17

Hallo Pete,

Zitat:kann man sich die verstrichene Zeit eigentlich auch in ms anzeigen lassen?
Ja.
Der mathematische Zusammenhang zwischen Werte mit den Einheiten "s" und "ms" lautet wie?


RE: Zeitdifferenz bestimmen - IchSelbst - 27.10.2015 19:32

(27.10.2015 15:03 )LabViewPete schrieb:  dass selbst wenn das Bit auf 0 steht die Zeit anscheinend weiterläuft.
Einmal gestartet läuft bei diesem VI die Zeit eben weiter ...

Zitat:Wie kann ich dieses Verhalten unterbinden?
Indem du auf den Eingang "Zurücksetzen" in dem Moment, und nur in dem Moment, einen True-Wert gibst, in dem die Bit-Änderung von 0 auf 1 anliegt. Beachte aber, dass dann die Zeit wieder bei Null beginnt.


RE: Zeitdifferenz bestimmen - PxCE_HB - 03.11.2015 14:49

Hallo,

ich fand den Beitrag bis jetzt sehr hilfreich und habe diese Lösung bei mir eingebaut (siehe Bild). Allerdings tritt nun folgendes Problem auf: Werden Zeiten kleiner 1 ms ermittelt zeigt mir der Baustein am Ausgang eine 0 an.
Kann mir jmd sagen wie ich Zeiten im µs-Bereich bestimmen kann?

Vielen Dank im Voraus.


RE: Zeitdifferenz bestimmen - GerdW - 03.11.2015 14:56

Hallo PxCE_HB,

formale Antwort: nimm eine Funktion, die nicht im ms-Raster arbeitet. Es gibt da einen HighResolutionTimer…

Bessere Antworten:
- Arbeite mit einem OS, das solche Zeitdifferenzen genauer unterstützt als Windows.
- Arbeite mit Hardware, die genaue Sampleraten und damit Zeitmessungen erlaubt…