Hauptmenü

DLOG_STORE_FILE_CSV

Begonnen von notricks, 08. Februar 2011, 16:26:46

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

notricks

Hi,

i'm trying to use DLOG_STORE_FILE_CSV to store a INT value in a timestamped CSV file.
I was testing the function and i noticed this:

-if i use manual trigger it writes ok to the file.. but if i wait for the automatic trigger (10 seconds for example) it doesn't write to the file... is just appear "Timestamp, Column" in the file. What am i adoing wrong?

I don't understand German... and google translator is not a good help with the manual! hehehe

Another thing, why is my DT with 1970  and not current date_time?

...and just one more: is it posible to log all data in the same file? and don't want to erase the file and overwrite but seek it in the ed and continue to log there...
Thanks a lot, i'm sure that this are lame questions...

Bst regards,
notricks



[gelöscht durch Administrator]

peewit

hola

Estos son los errores

1. el parámetro "dti" requiere la hora actual del sistema
2. 'c:\TwinCAT\testa_#R.csv'
   el parámetro "#R" crear un archivo nuevo cada segundo
   que no tiene sentido !!

Mira mi ejemplo

Nesesitas "TcUtilities.lib" y modulo "SysTime" y modulo "main"


saludos "peewit"



[gelöscht durch Administrator]

peewit

english version "dlog_store_file_csv"

[gelöscht durch Administrator]

notricks

Perfecto!!!
Muchas Gracias peewit!!!!

Perfect!!!
Thanks alot pewewit!!!

Saludos,
Regards,

notricks

marhard

Hallo!
Noch eine Frage zu diesen Baustein.

Geht es auch das man mehrere Werte in das selbe File schreibt und beispielsweise einmal am Tag (bei Tageswechsel) die Datei auf einen ftp Server ablegt und anschließend löscht?

Grundsätzlich habe ich dieses schon gemacht (aber mit dem smtp Baustein), nur möchte ich Schaltzustände von mehreren Datenpunkten in das selbe File schreiben und nicht für jeden Datenpunkt ein eigenes File generieren.

Wäre sehr froh wenn man dieses Problem in irgendeiner Form lösen könnte!

Gruss marhard

peewit

ja das geht
immer wenn sich der dateiname ändert bzw gestoppt/gestartet wird , wird eine die aufzeichnung beendet und diese datei mit smtp oder ftp transferiert
wieviele daten punkte und datensätze und wielange in eine datei geschrieben wird, kann vom anwender frei vorgegeben werden.

siehe network.lib/demo/DLOG_FILE_CSV_FTP_DEMO



marhard

Hallo!
ich habe das jetzt getestet. Mir ist aufgefallen, das wenn sich 2 Datenpunkte zur selben Zeit ändern dann die Zeilen in der Logdatei "durcheinandergewürfelt" werden. Mein Problem ist aber das es möglich ist das 2 oder mehrere Datenpunkte zur selben Zeit den Zustand ändern können.

gruss marhard

marhard

hier noch die logdatei!!

[gelöscht durch Administrator]

peewit

werde es mir ansehen

nachdem immer alle werte gespeichert werden, hat es eigentlich keine auswirkung ob sich werte geändert haben oder nicht

kannst du mir ein einfaches testprogramm geben, wo dieser fehler auftritt, denn dann kann ich den fehler sicher finden !
solange ich es nicht nachstellen kann wird es logischerweise schwierig


marhard

wie kann ich dir das testprogramm zukommen lassen?

peewit

enteder hier online stellen oder an meine email adresse (siehe profil peewit)
online wäre mir sogar lieber !

marhard

hier das testprogramm.

[gelöscht durch Administrator]

peewit

#12
du hast mir nicht alle bausteine zur verfügung gestellt: FB_STORE_CSV fehlt


kannst du mir mal kurz erklären was du eigentlich machen möchtest, und wie das ergebnis sein soll
was willst du wie loggen

erstelle mal eine csv-muster-datei, so wie du es dir vorstellst
und erkläre kurz durch was und wann welche einträge gemacht werden sollen


das hier die daten vermischt werden, wundert mich nicht...
so wird das nicht gehen, aber sobald mir dein ziel klar ist, werde ich sicherlich eine lösung finden...

marhard

hallo peewit

entschuldige habe den Baustein vergessen, ist jetzt mit der csv-Musterdatei angefügt!

Zur Aufgabenstellung:
Es werden 2 Lichtbänder über eine Tageszeit geschaltet und diese Zeiten werden über ftp mittels einer xml-Datei täglich vorgegeben (Datei auf Dateisystem, diese wird mit TwinCAT ausgelesen). Diese Zeiten können jeden Tag unterschiedlich sein und für beide Lichtbänder natürlich auch gleich sein.
Damit kontrolliert werden kann ob die Lichtbänder tatsächlich geschaltet werden, möchte ich die Schaltzustände aufzeichnen. Bisher habe ich das mit den TwinCAT eigenen Bausteinen realisiert. Das Problem dabei war aber das gleichzeitige Ein- bzw. Ausschalten der Lichtbänder. Außerdem musste die Logdatei manuell von der Steuerung downgeloadet werden. Bei dem automatischen Versand auf einen ftp-Server wäre hier Abhilfe geschaffen.
Am einfachsten wäre es jeden Datenpunkt einzeln in eine Datei zu schreiben, das funktioniert auch einwandfrei. Bei 2 Meldungen ist es zwar nicht schön aber noch erträglich. Wenn aber viele Datenpunkte (> 10) dann wird es mühsam mit einer Auswertung. Deshalb wäre es fantastisch wenn man mehrere Datenpunkte in eine Datei zusammenfassen könnte und die bspw. einmal pro Woche auf einen ftp-Server senden kann und anschließend gelöscht wird.

Zu den Einträgen:
Ich möchte, da diese Loggingfunktion natürlich auch für andere Zwecke verwendbar ist, Digitale Datenpunkte und auch bspw. Prozesswerte oder Zählerstände aufzeichnen .
Bei den Digitalen Werten genügt eine Spalte mit dem aktuellen Zeitstempel, eine mit einem Meldetext und dem Schaltzustand (EIN, AUS)
Bei den Prozesswerten gibt es ja die DEMO wo das auch verständlich beschrieben ist.
Bei den Zählerständen (Betriebsstundenzähler) auch wieder den aktuellen Zeitstempel, die Stunden und die Schalthäufigkeit.

Zu den Aufzeichnungszeitpunkten:
Die Digitalwerte immer wenn sich der Zustand ändert. (Versendet bspw. dann einmal pro Woche)
Die Prozesswerte entweder zeitlich (geht ja) oder bei Überschreitung eines Deltas (kann man selbst ausprogrammieren) (Versendet bspw. dann einmal pro Tag)
Die Zählerstände bspw. einmal am Tag (00:00 Uhr) und anschließenden Reset des Zählers (kann man selbst ausprogrammieren) (Versendet bspw. dann einmal pro Woche)

Das Ganze möchte ich, für jeden Datentyp getrennt, in einen Funktionsbaustein verpacken, damit diese einfach eingesetzt werden können. Die einzelnen Datentypen sollen nicht in eine einzelne Datei geschrieben werden sondern schon getrennt in verschiedene.

Ich hoffe ich habe alle Fragen beantworten können und hoffe das man das irgenwie lösen kann

gruss marhard

[gelöscht durch Administrator]

peewit

das was du machen willst, lässt sich mit den jetzigen bausteinen nicht wirklich direkt realisieren
und so wie du diese anwendest, so gehts es auf jedenfall gar nicht
in einem dlog verbund darf immer nur ein DLOG_STORE_FILE_CSV verwendet werden

das system ist dafür ausgelegt, dass man man prozesswerte durch einen trigger aufzeichnet
dabei wird jeder prozesswert in einer eigenen spalte angebildet
und da dies per flanke ausgelöst wird kann eigentlich maximal nur jeden zweiten zylus immer nur ein status alle prozesswerte geloggt werden

deine anforderungen und bedürfnisse haben ich aufgenommen
ich werde in zukunft eine normale dlog funktion vorsehen, wo man solche anforderungen einfach lösen kann.



das wäre aber auch möglich (ist das eine option für dich ?)

Zeitstempel                Licht 1   Licht 2
2011-04-29-18:50:00   EIN   AUS
2011-04-29-18:50:00   EIN   EIN
2011-04-29-21:05:00   AUS   EIN
2011-04-29-21:10:00   AUS   AUS

gib mir bescheid ob obigen auch passen würde !