Messwerte so schreiben, dass bei Störungen nichts verloren geht - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO) +----- Forum: Excel (/Forum-Excel) +----- Thema: Messwerte so schreiben, dass bei Störungen nichts verloren geht (/Thread-Messwerte-so-schreiben-dass-bei-Stoerungen-nichts-verloren-geht) |
Messwerte so schreiben, dass bei Störungen nichts verloren geht - bugohoss - 24.07.2013 08:19 Hallo zusammen, der Betreff sagt es eigentlich schon. Ich habe ein SubVI, welches zur Programmlaufzeit alle Messdaten in die Indizierung einer While-Schleife schickt. Sobald über den Button "Aufzeichnung stoppen" die Aufnahme unterbrochen wird, geben die Indizierungsknoten alle Werte an den entsprechenden EXCEL Specific Block weiter, bis sie dem Template nach, in einer EXCEL Datei gespeichert werden. Das funktioniert so ganz gut. Allerdings würde ich gerne schon während der Messweraufnahme die Werte in einer, nach Template formatierten Excel-Tabelle ablegen. Das soll sicherstellen, dass selbst beim Softwareabsturz oder bei versehendlichen schließen der Software, immer alle bis Dato aufgenommenen Werte gesichert sind. Geht das so überhaupt? Ich kann mir vorstellen das es ungünstig ist, für jeden ankommenden Messwert die Exceltabelle zu öffnen, den Wert zu speichern und die Tabelle zu schließen, damit sie in jedem Fall gesichert ist. Hat jemand vielleicht ein Beispiel-Code? Ich konnte leider nichts passendes finden. Viele Grüße RE: Messwerte so schreiben, dass bei Störungen nichts verloren geht - BNT - 24.07.2013 08:35 Das Stichwort ist "Producer-Consumer-Designpattern". Anstelle des indexing in ein Array, schreibst Du die Daten in eine Queue. In einer parallelen Schleife kannst Du die Daten aus dieser Queue lesen und periodisch oder kontinuierlich in die Datei schreiben. Gruß Holger RE: Messwerte so schreiben, dass bei Störungen nichts verloren geht - GerdW - 24.07.2013 08:38 Hallo bugo, zu dem etwas ungünstigen Excel-Template-Kram: Schreibe die Messdaten in eine temporäre (CSV-/Binär-)Datei. Erst bei Messende wird diese temporäre Datei in das Excel-Template übertragen. Vorteil: Es gehen keine Messdaten verloren, da ständig gespeichert wird und du ersparst dir das Hantieren mit Excel während der Messung... RE: Messwerte so schreiben, dass bei Störungen nichts verloren geht - bugohoss - 24.07.2013 08:42 Ah Okay, und in der sog. Consumer Loop würde ich dann auslesen und in Excel abspeichern. Aber sollte beispielsweise ein Stromausfall o.Ä. auftreten, dann würde ich doch, wenn ich nicht EXCEL immer wieder "öffne" und "schließe", alle Messdaten verlieren oder? Bzw. meinst es wäre dann gut, die Daten z.B. immer 10 Werte zu puffern und dann Excel "öffnen" und "schließen" sry vielen Dank erstmal, Holger und Gerd! Ich probier mal. RE: Messwerte so schreiben, dass bei Störungen nichts verloren geht - bugohoss - 24.07.2013 09:49 Super Problem gelöst! http://www.ni.com/white-paper/3023/en/ |