LabVIEWForum.de
Zeitmessung zwischen zwei Signalen - 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 Signalen (/Thread-Zeitmessung-zwischen-zwei-Signalen)

Seiten: 1 2


Zeitmessung zwischen zwei Signalen - t-romeo - 09.06.2015 09:59

Hallo liebes Forum,

ich komme gleich zur Sache, habe zwei Sensoren, die ich nacheinander "aktiviere". Die Zeit zwischen dem ersten und zweiten Sensor wird gemessen.
Dabei komme ich nicht unter 0,23s - also wenn ich den Zweiten aktiviert halte und ersten antippe.

Durch entfernung des DAQ hat sich die Zeit schon halbiert, vorher war ich bei 0,39s.

Habe zwei verschiedene Versionen erstellt, wobei beide im Test ungefähr gleichschnell funktionieren.

Gut wäre die Zeit mindestens nochmal zu halbieren.

Würde es ausreichen aus Labview heraus eine Applikation zu erstellen - also beschleunigt es das System nochmal?, Hat jemand von euch damit positive Erfahrungen gemacht?

Ansonsten bin ich für jede Hilfe dankbar.

Die Dokumente sind in der Lv86_img ner Version.

Gruß


RE: Zeitmessung zwischen zwei Signalen - jg - 09.06.2015 13:32

Nimm beide AI-Kanäle gleichzeitig mit Hardware-Taktung auf und führe dann die Analyse später an Hand der gemessenen Signale aus.

Nebenbei: Welches AI-Modul verwendest du in deinem cDAQ-Chassis?

Zu Variante b) Hier kannst du nicht sicher vorhersagen, wann genau das erste "Get Date/Time" ausgeführt wird. Deine Zeitmessung ist somit nicht deterministisch.


RE: Zeitmessung zwischen zwei Signalen - t-romeo - 09.06.2015 23:23

Ich messe Spannungen mit NI9215.

Zwei gleiche Öffner (Schalter) sind hintereinander angeordnet, die nacheinander betätigt werden.

Zitat:Nimm beide AI-Kanäle gleichzeitig mit Hardware-Taktung auf
Wie mache ich das am Besten? -
Die Auswertung erfolgt ja erst, wenn beide Zeiten abgesendet wurden - hat es trotzdem Einfluss auf das Ergebnis?

Danke schon mal im Voraus .


RE: Zeitmessung zwischen zwei Signalen - t-romeo - 11.06.2015 14:43

Eine Methode zwei Signale gleichzeitig aufzunehmen ohne DAQ-Assistent ist mir nicht bekannt, ich habe mein Programm umgebaut, meinst du das so jg?


RE: Zeitmessung zwischen zwei Signalen - jg - 11.06.2015 18:09

(11.06.2015 14:43 )t-romeo schrieb:  Eine Methode zwei Signale gleichzeitig aufzunehmen ohne DAQ-Assistent ist mir nicht bekannt,
Dann wird es höchste Zeit, dass du das lernst. Smile Hierzu gibt es verschiedenste Methoden.
1) Beispiele im NI Example Finder
2) Erste Schritte mit DAQmx
3) Du kannst per Rechtsklick aus dem DAQ-Assi auch DAQmx Code erzeugen. Durchaus hilfreich und erlaubt!
(11.06.2015 14:43 )t-romeo schrieb:  ich habe mein Programm umgebaut, meinst du das so jg?
NEIN, so meinte ich das ganz und gar nicht!!! Ich meinte wirklich, dass du von Anfang an beide Signale parallel aufzeichnest (und zwar im Modus "Kontinuierlich", nicht "Einzelwert HW-getaktet"), dabei die Bufferung des DAQmx-Treibers ausnutzt und immer Signale-Abschnitte über die Auswahl "N Channels, N Samples" ausliest, und die Auswertung über für die Zeit dann Offline machst.

Gruß, Jens

P.S.: Welchen Sinn soll eigentlich die Abbruchbedingung >= -10 haben, wenn du sowieso nur Werte zwischen -5 bis -10 V erwartest? Das ist ja immer gleich TRUE?!


RE: Zeitmessung zwischen zwei Signalen - jg - 11.06.2015 18:26

Hier ein kleiner Anfang, noch nicht perfekt und ohne Auswertung, aber ich will dir nicht alles vorkauen.

Gruß, Jens


RE: Zeitmessung zwischen zwei Signalen - t-romeo - 29.06.2015 14:29

Danke für die bisherigen Antworten

Habe Foren durchforstet, etliche Beispiele angeschaut.

bin soweit gekommen, allerdings wird nicht die Zeitdifferenz ausgegeben, da anscheinend gleiche Werte übertragen werden.

Geht mein Ansatz in die richtige Richtung?


Wenn es komplett anders soll, krieg ich den Zeitpunkt über
- den Eigenschaftsknoten aus der True-Bedingung
- über den Befehl Übergangsmessung
- über WDT (Zeitwert abfragen)
- oder über Startzeit (bzw. über aktuelle Zeit),


Gruß


RE: Zeitmessung zwischen zwei Signalen - jg - 29.06.2015 14:44

(29.06.2015 14:29 )t-romeo schrieb:  Danke für die bisherigen Antworten

Habe Foren durchforstet, etliche Beispiele angeschaut.

bin soweit gekommen, allerdings wird nicht die Zeitdifferenz ausgegeben, da anscheinend gleiche Werte übertragen werden.

Geht mein Ansatz in die richtige Richtung?
Nein.
(29.06.2015 14:29 )t-romeo schrieb:  Wenn es komplett anders soll, krieg ich den Zeitpunkt über
- den Eigenschaftsknoten aus der True-Bedingung
- über den Befehl Übergangsmessung
- über WDT (Zeitwert abfragen)
- oder über Startzeit (bzw. über aktuelle Zeit),
Nein, nein, nein und nochmals nein.

Geh nochmal zurück zu meinem VI. Nach der While-Loop hast du ein 2D-Array "data" mit allen Daten seit Beginn der Messung. Jede Array-Zeile ist ein Messkanal, und der zeitliche Abstand der Spalten beträgt "1/Rate" Sekunden - beim eingestellten Wert von 100 Hz also 0,01 Sekunden. Jetzt musst du "nur" noch die Array-Indices suchen, die deiner Abbruchbedingung für die Kontrolllampen entsprechen. Und dann... (na, fällt der Groschen, welche Berechnung jetzt noch fehlt?).

Gruß, Jens


RE: Zeitmessung zwischen zwei Signalen - t-romeo - 30.06.2015 11:12

Hab ich die Array-Indices jetzt richtig gesucht?

Den neuen Aufbau kann ich erst in 2 Tagen ausprobieren - deswegen frage ich so ausführlich nach

Wie aktiviere ich die Berechnung im Anschluss?


RE: Zeitmessung zwischen zwei Signalen - jg - 30.06.2015 11:39

Ja, im einfachsten Fall funktioniert das. Allerdings würde ich entweder durch 100 teilen oder mit 0.01 multiplizieren.

Nun zum Aktivieren der "Disable Structure": Der fast wichtigste Maus-Button in LabVIEW ist der rechte, soll heißen: Rechtsklick...
[attachment=53503]
Gruß, Jens