Daten Logger / CSV speichern

Begonnen von franklin, 28. April 2011, 14:48:48

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

franklin

hallo zusammen,
teste zur zeit die funktionalität des daten logger.
es funktioniert auch alles ganz prima.
meine frage bezieht sich auf den baustein dlog_store_file_csv.

wann werden die dateien auf den datenträger geschrieben ?
muss dazu immer der dateiname geändert werden ?
hab ich da noch einen trigger übersehen?

thx for help

frank

peewit

die daten werden ab dem start in einem internen buffer zwischengespeichert und dann regelmässig in die datei geschrieben
solange die freigabe vorhanden ist, wird die datei immer grösser

stoppen kannst du es mit wegnahme der freigabe, oder durch einfaches ändern des dateinamens

in der praxis wird man einfach immer zu bestimmten zeitpunkten den dateinamen ändern

den dateinamen-wechsel kannst du aber durch das spezielle feature automatisch durchführen lassen
z.b. jede stunde eine neue datei

siehe doku

wenn du noch fragen hast, dann bitte beispiele nennen, dann kann ich dir sicherlich weiterhelfen


freut mich wenn es funktioniert , denn dann habe ich gute arbeit geleistet :-)

gruss peewit

franklin

hallo peewit,

hut ab. es funktioniert super.

habe aber noch fragen.
mit der wegnahme der freigabe, wird der letzte inhalt des buffers nicht in die datei geschrieben.
ich würde gern die bis dahin gesammelten daten auch noch schreiben ohne den dateinamen zu ändern.
hintergrund ist der, loggen von produktionsdaten. wenn anderes produkt gewählt, dann erst neuer dateiname.
da die produktion zwischendurch aber auch gestoppt werden kann ist es nichtr schön, an dieser stelle einen neuen dateinamen zu erstellen.

kannst du mir da weiterhelfen?

gruss frank

peewit

also das sollte so funktionieren...

das muss ich mir am wochenende ansehen, ob es geht bzw warum nicht....


peewit

hallo franklin

ich kann dein beschriebens problem nicht nachvollziehen
bei mir funktioniert es so wie ich es konstruiert habe...

meine vorgangsweise bei DLOG_STORE_FILE_CSV

1. neuen dateinamen vorgeben
2. enable = on
3. trig_m dann x mal geflankt
4. enable = off
5. pause...
6. wiederholung der schritte 1-6

das habe ich im handbetrieb durchgespielt und kein problem finden können


jetzt bist du an der reihe, und musst mit nun mehr details zu deinem problem geben

wie sehen die datenfiles aus , wenn es nicht funktioniert ?
was passiert denn bei dir ?
wie sieht dein testprogramm aus ?

gruss peewit

peewit

hallo franklin

ich warte auf dein demo-programm mit dem fehler !

franklin

moin peewit,

tschuldige die späte rückmeldung.

ich habe den fehler gefunden.
bei meinem test arbeite ich mit vxworks und da kann ich den dateinamen nur 8 zeichen lang vergeben.
deshalb hat es nicht funktioniert mit dem schreiben der datei.
nachdem ich dies geändert habe funktioniert es nun genau wie von dir beschrieben.
sorry für die verwirrung.

alles ok.

gruß

franklin

peewit

gut , danke für die rückmeldung

wenn nun alles geht, dann bin ich auch zufrieden...


b.b.

Ist zwar schon ein älterer Beitrag aber ich hätte passend dazu auch eine Frage.

Daten Logger funktioniert soweit super. Ich habe auf meinen CX9010 ein Laufwerk von meiner NAS gemappt und kann somit direkt auf ein Netzwerklaufwerk sichern :))

Ich habe das File tageweise und speichere alle 5 Minuten 5 Real Werte mit Header. ('#H#D#A_lueftung.csv')

Die Frage ist: Wann bzw. wie oft wird das File geschrieben?
Es sieht aus, als würde das mehrere Stunden nicht passieren.
Meine NAS macht nach 120 Minuten einen HDD Spin-down. Daher wäre es super, wenn ich das irgendwie steuern oder berechnen könnte, damit meine Platte nicht nach einem Jahr hops geht.

Danke!

peewit

#9
die daten zum schreiben werden in einen 4000 bytes grossen buffer gesammelt, sobald dieser voll ist, wird alle daten in die datei geschrieben. abhängig von durchschnittlichen datensatzgroesse kannst du dir in etwa ausrechnen wann das passieren wird.

ich vermute das es bei dir so alle 1 - 2 stunden passiert

ich habe keine weiteren optionen dafür vorgesehen, aber wenn du eine gute idee hast....
was wäre für dich denn optimal ?


was passiert wenn deine platte schläft und du zugreifen willst
bekommst du eine störung (timeout) , oder funktioniert es trotzdem, weil sie schnell genug aufwacht


b.b.

mir ist jetzt gerade etwas anderes passiert:

das File war geschrieben von 00:00:00 bis 08:15:00
Jetzt habe ich den enable weggenommen und wieder gesetzt und das file war mit den daten von 8:20 an überschrieben...?
gibts dafür eine erklärung?

peewit

eine positive flanke bei enable verursacht ein löschen und neuanlegen der datei (also ein kompletter neubeginn)

ob daten geschrieben werden sollen kannst du ja über trig_m und trig_t bestimmen
und wenn du eine andere datei willst dann brauchst du nur den dateinamen wechseln

aber auch wenn nach einen dateinamen wechsel diese datei schon existiert , wird diese zuerst gelöscht


mit diesen mitteln kann man ansich alles machen...
was willst du eigentlich bezwecken mit enable off/on ?

wenn das noch nicht dein problem erklärt, kann ich dir nur weiterhelfen ,wenn du mir dein testprogramm und die "fehlerhafte" datei gibst


b.b.

hab den enable etwas falsch verstanden
ich dachte ich versuche den enable als "write force" zu verwenden und bin dann draufgekommen, das der das file löscht...

eigentlich passt mir das csv speichern so

ich hätte noch eine frage: kann ich die Daten, die noch nicht ins file geschrieben sind, irgendwie ordentlich (ohne Überschneidung) auslesen?
Bräuchte ich für die Visu

Danke!

peewit

durch das zwischenbuffern momentan nicht, auch die datei bleibt die ganze zeit geöffnet !

ich könnte eventuell eine option einbauen damit der datenbuffer immer sofort in die datei geschrieben wird.


visu ?
wieso visualisierst du die prozesswerte nicht direkt parallel mit einen trendschreiber ?

b.b.

Trendschreiber: muss ich mir anschauen, in welcher Lib ist der?

Datei:
Dauernd offen ist natürlich blöde bei Netzwerkverbindung...
Was passiert jetzt, wenn eine Datei länger verwendet wird als 4000Byte? Sagen wir, eine Datei pro Monat.
Bleibt die dann immer offen? Was passiert dann bei einem Stromausfall oder PowerCycle?

Eine Idee wäre, die Datei nur zu öffnen, wenn geschrieben wird.
Und dann natürlich an die Datei anhängen, wenn sie schon existiert....