LabVIEWForum.de
text in datei schreiben, wenn der trigger auslöst - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: text in datei schreiben, wenn der trigger auslöst (/Thread-text-in-datei-schreiben-wenn-der-trigger-ausloest)



text in datei schreiben, wenn der trigger auslöst - steffenkaminski - 02.01.2013 11:21

Hallo,

ich habe folgendes Problem:
ich Messe über diverse Eingänge Körperschall und Kraft. Dabei benutze ich einen Pausetrigger, der immer dann die Messung laufen lässt, wenn gerade 5V anliegen. Wenn nicht, dann nicht. Dabei werden alle Messergebnisse in eine Datei geschrieben.

Ich möchte nun, dass bevor jede einzelne Messung beginnt eine Zeile mit der aktuellen zeit in die Datei geschrieben wird, in der die Messergebnisse stehen, damit ich weiß, welche Werte zu welcher Messung gehören.

Ich dachte dabei daran, dass iwie ein Event ausgelöst wird, wenn der Trigger das Startsignal gibt, aber das funktioniert nicht so recht.
Ich bin ein ziemlicher Neuling auf dem Gebiet und wäre dankbar für Tips oder Ideen!

Gruß, Steffen


RE: text in datei schreiben, wenn der trigger auslöst - Trinitatis - 02.01.2013 11:25

Hallo Steffen,

liegt dein Problem nun beim Reinschreiben des Zeitstempels in die Datei, oder beim Generieren des Events oder beim Registrieren eines generierten Events?

Fragen über Fragen . . .

Poste doch mal dein VI mit ner Beschreibung, wo es hakt


Gruß, Marko


RE: text in datei schreiben, wenn der trigger auslöst - steffenkaminski - 02.01.2013 12:03

das problem liegt beim registrieren und genieren eines events. ich habe kein passendes beispiel dazu gefunden, geschweige denn weiß ich garnicht, ob es damit überhaupt funktioniert! Kann man denn über einen Spannungstrigger in eine Datei schreiben?

Das eigentliche Schreiben in eine Datei ist nicht das Problem.

ich habe mein Programm angehängt. Es ist wahrscheinlich nicht so sauber geschrieben. Ich bitte darüber hinweg zu sehen ;-)
Es enthält jedoch noch keine Eventstruktur.

Vielen Dank und Gruß, Steffen


RE: text in datei schreiben, wenn der trigger auslöst - Trinitatis - 02.01.2013 13:45

Hallo Steffen,

warum kannst du denn nicht in den hinteren beiden Schleifen den jeweils aktuellen Zeitpunkt vor die eigentlichen Messergebnisse setzen.
Im übrigen würde ich nicht mit jedem Schleifendurchlauf die Datei öffnen und wieder schließen.
Du öffnest die Datei ja ganz am Anfang einmal, mit dieser Referenz kannst du dann auch später in deiner Schleife weitermachen und nach dem Beenden der Schleifen die Referenzen wieder schließen.

Marko


RE: text in datei schreiben, wenn der trigger auslöst - steffenkaminski - 03.01.2013 11:01

So.

Ich lese ja jeweils 10 und 1000 werte auf einmal ein. habs jetzt so eingerichtet, dass ich einfach hinter jeden String der eingelesen wird die Zeit packe! Vielen Dank für den Tip. das war in der tat die einfachste Lösung. Ich bin froh, dass ich es ohne eine ereignisstruktur machen konnte.

Was das öffnen und schließen der datei angeht, habe ich das extra so gemacht, da ich mit 300kHz Messe und mir sonst immer der Puffer voll läuft, bzw das speichern ewig dauert.

Gruß Steffen


RE: text in datei schreiben, wenn der trigger auslöst - GerdW - 03.01.2013 11:26

Hallo Steffen,

Zitat:Was das öffnen und schließen der datei angeht, habe ich das extra so gemacht, da ich mit 300kHz Messe und mir sonst immer der Puffer voll läuft, bzw das speichern ewig dauert.
Aha.
- Dadurch, dass ich die zusätzlichen Operationen "Datei öffnen", "Dateiposition setzen" und "Datei schließen" mit in die Schleife hineinnehme und in jeder Iteration ausführe, werden die Daten schneller geschrieben als wenn ich auf diese Aufrufe verzichte?
- Welcher Puffer soll volllaufen, wenn ich die Daten trotzdem in jeder Iteration in eine Datei schreibe? Wo ist da überhaupt ein Puffer?
Hmm

Wenn man Bedenken oder gar Probleme wegen (zu) langsamer Dateizugriffe hat, lautet das Standardrezept eigentlich immer "Producer-Consumer-Schema" mit Einsatz einer Queue. Außerdem kann es helfen, größere Datenblöcke vom DAQ abzufragen und zu speichern...