Autor Thema: Bug in DLOG_STORE_FILE_CSV  (Gelesen 8330 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

arsh0r

  • Gast
Bug in DLOG_STORE_FILE_CSV
« am: 06. März 2012, 22:30:16 »
Betrifft codesys 2.x, mit Wago 750-841 getestet.

Die Zeile 60 in dem Baustein muss so heissen:
      ELSIF idx + LEN(X.UCB.D_STRING) + 2 < SIZEOF(PT.BUFFER) THEN (* Platz für Element vorhanden ? *)
und nicht so:
      ELSIF idx + LEN(X.UCB.D_STRING) + 2 < SIZEOF(PT) THEN (* Platz für Element vorhanden ? *)

sonst passiert es das beim schreiben eines 4kB Blocks ab und zu entweder das Trennzeichen(,) oder 0D/0A(neue Zeile) abgeschnitten wird.
PT ist nämlich zwei Bytes größer als PT.BUFFER, in dem wir die Daten ablegen. Im weiteren Verlauf der Routine werden maximal zwei Bytes zusätzlich gespeichert (entweder 0D0A oder das Trennzeichen).

Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 378
    • Profil anzeigen
Re: Bug in DLOG_STORE_FILE_CSV
« Antwort #1 am: 06. März 2012, 22:57:52 »
hallo arsh0r

was soll ich dazu sagen
ja, ich habe einen fehler gemacht.....   :'(

danke für deine völlig korrekte fehleranalyse und fehlerbehebung
ich bin für solche beiträge immer sehr dankbar

gruss peewit

arsh0r

  • Gast
Re: Bug in DLOG_STORE_FILE_CSV
« Antwort #2 am: 07. März 2012, 15:08:57 »
ich habe zu danken.

Die Funktionen CSV Datenlogger + FTP Upload funktionieren in meinem Testaufbau bisher tadellos.

mfg
arsh0r

arsh0r

  • Gast
Re: Bug in DLOG_STORE_FILE_CSV
« Antwort #3 am: 12. März 2012, 09:00:04 »
Das ganze läuft mittlerweile auf einer Wago 750-880. Es werden 9 Werte Minütlich erfasst und alle Stunde wird eine Datei gespeichert und per FTP hochgeladen.
Dabei geht gelegentlich die Namensauflösung des DNS_CLIENT schief und hängt dann in state 30. hab meinen workaround hier gepostet: http://www.oscat.de/community/index.php/topic,1326.0.html

Offline io123

  • Newbie
  • *
  • Beiträge: 15
    • Profil anzeigen
Re: Bug in DLOG_STORE_FILE_CSV
« Antwort #4 am: 12. Juli 2012, 14:26:31 »
Hallo peewit,

hab gerade etwas im Forum rumgesucht und bin dann im Beitrag

    OSCAT Forum »
    network.lib »
    Modulentwicklung (Moderator: peewit) »
    DLOG_FILE_CSV_DEMO, Zeitpunkt wann die Daten gespeichert werden


auf die Testverion "codesys_network_120523a.lib" von der geänderten Network.lib ggestoßen und habe mir die angeschaut.

Dabei ist mir der Beitrag hier wieder eingefallen und hab in der neuen Lib geschaut und gesehen, dass hier in
Zeile 131 "ELSIF idx + LEN(X.UCB.D_STRING) + 2 < SIZEOF(PT) THEN (* Platz für Element vorhanden ? *)" das selbe steht wie von arsOr erwähnt (siehe hier erster Beitrag).

Wollte dich nur dauf hinweisen, dass evtl. das bei Veröffengtlichung der neuen Lib, nicht der Fehler noch enthalten ist.

Vielleicht hast Du es auch schon korrigiert, dann kannste den Hinweis hier einfach vergessen.

Grüsse
Michael

ps. vielen DANK für die tollen libs




Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 378
    • Profil anzeigen
Re: Bug in DLOG_STORE_FILE_CSV
« Antwort #5 am: 12. Juli 2012, 15:52:29 »
Hallo

Danke fuer deinen hinweiss
Normalerweise sollte ich es bei allen plattformen inzwischen korrigiert haben
Ich habe inzwischen eine andere beta version die schon bei einigen kursiert (mysql support)
Dort sollte es auch schon drinnen sein...


Aber momentan kann nicht nachschauen, da ich noch bis sonntag in der tuerkei am pool liegen "muss"  8)