Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
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!
RE: text in datei schreiben, wenn der trigger auslöst
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
RE: text in datei schreiben, wenn der trigger auslöst
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.
RE: text in datei schreiben, wenn der trigger auslöst
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.
RE: text in datei schreiben, wenn der trigger auslöst
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
03.01.2013, 11:26 (Dieser Beitrag wurde zuletzt bearbeitet: 03.01.2013 11:28 von GerdW.)
RE: text in datei schreiben, wenn der trigger auslöst
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?
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...