Zeitmessung zwischen zwei Ereignissen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ) +---- Thema: Zeitmessung zwischen zwei Ereignissen (/Thread-Zeitmessung-zwischen-zwei-Ereignissen) |
Zeitmessung zwischen zwei Ereignissen - Fletcher - 23.11.2008 18:04 Hallo, habe folgendes Problem, zu dem mir einfach die Lösung nicht einfallen will: Gegeben ist ein Schalter, der in zufälligen Zeitabständen kurz einschaltet, sozusagen einen Impuls liefert. Gesucht ist die Zeit zwischen jeweils zwei Impulsen. Also die Zeitspanne in der er false ist. Weiß jemand wie man prinzipiell die Zeit zwischen zwei Ereignissen mit der tick count funktion bestimmt. Danke im Voraus Zeitmessung zwischen zwei Ereignissen - Abtin - 23.11.2008 18:37 ' schrieb:Hallo, habe folgendes Problem, zu dem mir einfach die Lösung nicht einfallen will: Es hängt davon ab womit du die Zeit messen willst. z.B. mit einer Meßkarte von NI, die haben (fast alle, wenn nicht sogar alle) einen Event counter. Da kann man den "PFI0"-I/O als Eventzähler konfigurieren. Dieser regaiert dann (bei meiner karte zumindest) auf die Fallende Flanke des SIgnals und zählt dann die Zeit bis zur nächsten Flanke. ich habe glaube ich die einfachste Karte (6008) und dieser zählt mit einen 32Bit counter, also genau genung für einen Schalter. Einen bsp. findest du bei Beispiele suchen, und dann "count Digital Events" Kleiner Tipp: denke daran dass ein normaler Schalter "prellt" und du vielicht falsche zeiten messen wirst! Gruß, Abtin Sorry, habe deine frage nicht bis zum ende gelesen, du fragst nach der tick "count funktion", das habe ich leider übersehen. Meinst du mit Tik count das selbe wie Event counter? wenn ja dann hilft dir meine Mail hoffentlich, wenn nicht dann sorry!!!!!! Zeitmessung zwischen zwei Ereignissen - Falk - 23.11.2008 23:06 Hallo Fletcher! Das mit den Tick Counts ist recht einfach, so fern ich dich richtig verstanden habe. Du musst hierzu einfach den (n-1)-ten Tick in ein Shift-Register einer Schleife ablegen. Beim n-ten Event liest du dann aus diesem Register und subtrahierst diesen vom aktuellen Tick. Den Aktuellen packst du gleichzeitig wieder in das Shift-Register usw. usw. Damit kannst du halt immer die Zeitspanne zwischen zwei Schleifendurchläufen messen. Um jetzt auf ein Event zu reagieren musst du halt das zu erwartende Event in diese Schleife packen, so dass die Schleife erst weiter macht, wenn das Event eingetreten ist (ok eine Abbruchbedingung sollte man natürlich implementieren). Leider habe ich aktuell keine Möglichkeit dir das an einem VI zu verdeutlichen, aber vielleicht hilft dir das ja schon weiter. Schöne Grüße Falk |