OSCAT Forum
network.lib => BECKHOFF => Thema gestartet von: notricks am 08. Februar 2011, 16:26:46
-
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]
-
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]
-
english version "dlog_store_file_csv"
[gelöscht durch Administrator]
-
Perfecto!!!
Muchas Gracias peewit!!!!
Perfect!!!
Thanks alot pewewit!!!
Saludos,
Regards,
notricks
-
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
-
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
-
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
-
hier noch die logdatei!!
[gelöscht durch Administrator]
-
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
-
wie kann ich dir das testprogramm zukommen lassen?
-
enteder hier online stellen oder an meine email adresse (siehe profil peewit)
online wäre mir sogar lieber !
-
hier das testprogramm.
[gelöscht durch Administrator]
-
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...
-
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]
-
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 !
-
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 !
So etwas wäre natürlich fürs erste auch möglich. Nur noch eine Frage: Wird das dann so aufgezeichnet wie es im obigen Beispiel ist oder so:
Zeitstempel Licht 1 Licht 2
2011-04-29-18:50:00 EIN EIN
2011-04-29-21:05:00 AUS EIN
2011-04-29-21:10:00 AUS AUS
Werden also, wie im Beispiel beschrieben, 2 Zeilen beim gleichzeitigen Einschalten eingetragen oder nur eine?
Vielen Dank für deine Bemühungen!!
gruss marhard
-
es werdem zu einem ereigniss alle aktuellen zustände geloggt
sollten zwei verschiedene ereignisse gleichzeitig auftreten, dann wird nur eine zeile geloggt
jedoch sind von beiden die aktuellen zustände vermerkt
2011-04-29-18:50:00 AUS AUS (nun werden beide im selben zyklus eingeschalten)
2011-04-29-18:50:00 EIN EIN (das ergibt dann nur eine log-zeile , jedoch sind beide änderungen enthalten !)
kannst du damit leben ?
-
fürs erste auf alle Fälle!
Danke nochmals!
gruss marhard
-
hallo marhard
habe schnell mal was heruntergetippt
das lässt sich sehr einfach auf mehr signale erweitern
siehe anhang
viel spass damit...
[gelöscht durch Administrator]
-
hallo peewit
WOW! Perfekt!
Danke schön für die Geduld und die schnelle und unkomplizierte Lösung!!
gruss marhard