DLOG_STORE_FILE_CSV

Hi

Kurze Frage zu o.g. Baustein.

Ich erhalte bei dem Demo-Projekt ca. 12-13 Zeilen EXCEL-Messwerte → O.K.

Gemessen wird alle 5 Sekunden.

Ich hätte gerne alle 10 minuten eine Messung und alle 3600 Sekunden soll eine EXCEL-Datei erzeugt werden.

TRIG_M und TRIG_T wurden angepasst jedoch ohne Erfolg.

Habe ich da irgendwo einen Denkfehler ?

  1. Z.b. DLOG_REAL → DELTA wird im Handbuch nicht erklärt.

Danke vorab

Gruß Karl

TRIG_T = 600 macht alle 10 minuten einen aufzeichnung

wenn die aktuelle zeit (in sekunden betrachtet), durch TRIG_T ohne rest geteilt werden kann, wird ein aufzeichnung aufgelöst

TRIG_M sollte eigentlich nur dazu dienen um jederzeit nach wunsch per puls eine aufzeichnung auflösen zu können.
(wenn man z.b. keine zeit sondern event gesteuerte aufzeichnung nutzen möchte)
TRIG_T und TRIG_M funktionieren aber parallel !

damit alle 3600 sekunden (jede stunde) eine neue datei erzeugt wird
must du entweder selber jede stunde den dateinamen ändern, natürlich so das es sinn macht

aber viel intelligenter ist die automatische variante mit dem dynamischen dateinamen

FILENAME := ‘LOG_DATA_#N.csv’

wenn es gerade 10:30h ist, dann würde der dateiname ‘LOG_DATA_10.csv’ sein
damit wird automatisch jede stunde ein neuer dateiname erzeugt, und die daten werden dahin umgeleitet

DLOG_REAL → delta fehlt in dokumentation
du verwendest die “nicht veröffentlichte” Version 1.20 und benutzt die doku 1.12 dazu
(siehe anhang)

[gelöscht durch Administrator]

Hi peewit

Wäre natürlich schön, wenn man mit Parametern diese eigentliche Aufgabe erledigen könnte.

Wäre doch etwas “gängiges” oder ?
Also z.b. Solaranlage, alle 15 sekunden die Werte aufzeichnen.
Nach 3600 sekunden soll eine neue Datei erzeugt werden.

Gruß Karl

ich muss mich leider wiederholen

es geht doch mit parametern

diese einstellungen machen das was du willst

TRIG_T = 15
FILENAME := ‘LOG_DATA_#N.csv’

dann bekommst du insgesamt 24 dateien (pro tag) die immer wieder pro stunde überschrieben werden

achtung !
im filenamen steckt ein ‘#N’ dass wird durch die aktuelle stunde ersetzt, und ergibt automatisch sich ändernde dateinamen
die kürzel kannst du bei DT_TO_STRF nachlesen

Hallo Peewit

Das habe dann mißverstanden.

Werde gleich mal testen.

Danke vorab.

P.S. Das PDF ist jetzt lesbar.

Gruß Karl

Hi Peewit

Funktioniert. :slight_smile:

FILENAME := ‘LOG_DATA_#A.csv’ → Aufzeichngsdauer 1 Minute
FILENAME := ‘LOG_DATA_#N.csv’ → Aufzeichngsdauer 1 Stunde

Das könnte noch in die Dokumentation ?

Danke

Gruß Karl

ist doch eine klasse sache oder ?

in der doku von diesen baustein ist ein verweis auf den baustein DT_TO_STRF dokumentiert
und dort sind dann auch die möglichen kürzel dokumentiert
das verhindert redundante dokumentation !

Hi

Ja, sogar SuperCool :-*

O.K. Vom Prinzip her schon.

Nur man ahnt eigentlich nicht, dass durch ändern des Filenamen die Aufzeichnungslänge verändert.
(Ich zumindest nicht :slight_smile: )

Danke Gruß Karl

Hi

Ich arbeite nun mit der DELTA und TRIG_M FALSE.

Die Aufzeichnungen funktionieren anscheinend, jedoch die CT+LF hinter den Sätzen fehlen.

(Mache ich was falsch)

Danke Karl

[gelöscht durch Administrator]

kontrolle doch mal die baustein aufrufreihenfolge
sollte die passen, dann gib mir bitte ein möglichst einfaches test-projekt wo das problem weiterhin besteht
dann werde ich sicherlich auch den grund finden …

Hi

Reihenfolge nach Datenfluß. → !

Grundsätzlich nur ein paar REAL Variablen.

Zeit wird separat ausgelesen.

P.S: 750-881 → Dein Example läuft jedoch richtig.

P.P.S: Reicht dieses Example, oder soll ich dir ein komplette Beispiel machen ?

Danke

Gruß Karl

[gelöscht durch Administrator]

hallo

wenn ich dein programm nehme funktioniert es auch, jedoch hast du nicht die gleichen bedingungen wie ich.
da dein beispiel werte von aussen benötigt (uhrzeit und prozesswerte)

problem ist eben solange es bei mir funktioniert , kann ich auch keinem problem nachgehen

du müsstest das original-demo programm nehmen, und so anpassen das der fehler wieder passiert

aber alle variablen müssen lokal im programm produziert werden selbst du uhrzeit solltest du nicht von extern holen
ansonsten haben wir nicht die gleichen bedingungen, darum verwende ich immer die RTC2 softclock

tritt der fehler nur auf wenn du delta benutzt ?
entferne mal alle delta und teste
dann gibst du einen delta hinzu usw…

irgendwann muss es dann doch anders werden …

meine test-textdatei ist im anhang, da habe ich einen realwert zyklisch um 0.01 erhöht, damit das delta öfters auflöst
und leider ist kein problem erkannbar


kannst du mal online bei dir folgendes nachsehen

welchen wert hat X.ID_MAX
und eventuell mal von der variable “n” im DLOG_STORE_FILE_CSV eine traceaufzeichnung machen

meiner vermuting ist das der interne X.ID_MAX zähler nicht stimmt
dieser zähler wird im ersten zyklus automatisch aktiviert

hast du eventuell online programmänderungen gemacht
mach mal einen sps-reset und download + start und teste nochmal

[gelöscht durch Administrator]

Hi

hast du eventuell online programmänderungen gemacht
mach mal einen sps-reset und download + start und teste nochmal

Ja, etliche Programmänderungen und mit “Online-Change”.

Bereinigen und komplett neu erzeugen und Reset der Baugruppe.

Jetzt läuft es. :slight_smile:

:‘( Sorry, wieder umsonst Rabatz gemacht. :’(

Nochmals großen Dank.

Gruß Karl

hallo

hauptsache es funktioniert jetzt, und es war ja nicht umsonst
ich habe erkannt das dies bei onlineänderungen passieren kann

somit werde den baustein etwas optimieren so das sich dieses problem nach dem online änderungen von selber wieder repariert.
und eventuell noch einen hinweis in die doku geben …

wenn du ideen anregungen dazu hast, bitte mitteilen

Hallo liebe Oscat-User,

nun muss ich mich auch zu diesem Thema austauschen.
Möglicherweise stehe ich etwas auf dem Schlauch…
Ich würde gerne alle 15min eine CSV-Datei erstellen und per FTP versenden.
In dieser CSV soll auch nur alle 15min ein Wert eingetragen werden.
Für den 15min Eintrag gebe ich die TRIG_T 900 vor.
Was aber gebe ich für die 15min CSV im Filename ein?

Vielen Dank für Eure Hilfe

Gruß

PS: FTP-Versand funktioniert wunderbar aber die CSV alle 15min leider nicht.

dasa mit den 15 minuten geht leider (noch) nicht automatisch
du musst einfach alle viertel stunde den dateinamen ändern, mehr ist nicht erforderlich !

du nimmst den date_time wert und teilst in durch 900 , und wenn kein rest bleibt dann es genau

15,30,45,00 minuten

auslöser = DT_TO_UDINT(DTI) MOD 900 = 0;

Vielen Dank für die schnelle Antwort.
Ich werde das morgen testen.

Grüße

Hallo,

der Logger funktioniert nun einwandfrei. Leider gibt es nun ein weiteres aber sicher letztes Problem.
Der FTP-Versand läuft leider nicht sauber durch. Es kann sein das der Versand über mehrere Stunden einwandfrei funktioniert.
Dann gibts es wieder Phasen da dauert es bis zu 3min bis der Versand erfolgreich statfindet.
Die Steuerung ist immer noch eine Wago 750-841. Ich habe das Programm aber auch schon auf einer 750-880 getestet mit dem gleichen Problem.
Außerdem habe ich au das Demoprogramm DLOG_FILE_CSV_FTP_DEMO getestet mit dem gleichen Ergebnis.
Auch habe ich schon verschiedene FTP-Server ausprobiert, immer mit dem Problem das der Versand nicht auf Anhieb läuft.
Natürlich Firewall & Co. aus. Auch der FTP-Versand auf eine 2. Wago geht nicht immer.

Über Hilfe würde ich mich sehr freuen denn das Programm läuft sonst einwandfrei - vielen Dank übrigends an der Stelle an die Macher der Oscat !!

Grüße

hallo

das manche massen-hoster den verbindungsaufbau zum ftp oft zeitlich variabel machen, habe ich selber schon gesehen
dies sind meistens aber nur wenige sekunden, und das wird ja nicht dein problem sein.
kommt es hier zu irgendwelche bandbreiten-limits ?

wir müssen aber jetzt bei dir das problem näher beschreiben/definieren.

hast du nur ein ungleichmässiges zeitverhalten, oder kommt es zu abbrüchen bzw fehlermeldungen
beschreibe bitte die situation etwas genauer…

das beste mittel wäre eine wireshark aufzeichnung des datenverkehr, dann kann man eindeutig bestimmen was hier passiert

Hallo,
der FTP-Server ( Filezilla ) läuft im lokalen Netzwerk.
Einen Wireshark-Mitschnitt kann ich machen.
Oder ich poste hier mal das Programm wenn es von Nutzen ist.
Was mich gewundert hat war, das auch die Demo nicht fehlerfrei gelaufen ist.

Danke erstmal für die schnelle Antwort!

Grüße