Fehler beim Datenlogger

Murmeltier

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

Zuerst muss ich sagen, dass ich mich nur seit kurzem mit SPS beschäftige, also Sorry falls die Frage eine blöde Antwort hat. ich habe allerdings den Internet durchgesucht und ein bisschen rumprobiert, ohne Erfolg.
Der Controller ist ein ILC 171 ETH 2TX.

ich möchte in meinem Programm ein DatenLogger herstellen. Dazu habe ich mich auf den Beispiel hier gestützt. http://xennis.org/wiki/Phoenix_SPS_-_In_Datei_schreiben_(WRITE_FILE) . Der Logdatei wird erstellt, ich kann es vom Browser her öffnen, aber darin wird gar nichts geschrieben. Es erscheint systematisch den Fehler ID 1 entweder in File_Close oder File_Write. Dies entspricht laut Hilfe ein ungültiges Dateihandle. Ich konnte allerdings nicht finden, war der Fehler verursacht (oder eigentlich bedeutet). Kann mir jemanden da helfen ?



Für den Buffer habe ich zwei Datentypen probiert,
Dieser:
IP_UDT_SocketData :
STRUCT
DataCnt : INT;
Data : IP_ARR_WORD_1_1460;
END_STRUCT;
und Byte.


Liebe Grüße und Danke
Murmeltier
 
Zuletzt bearbeitet:
Das wird dir jetzt bei Deiner Frage nicht direkt weiter helfen:

Ich benutze einfach die fertige (Offline-Logger-) Lösung von OSCAT aus der NETLIB. Dieser Datalogger kann Daten auf einen FTP-Server oder ein CVS im SPS-Daten-FLASH schreiben. Die Einrichtung ist sehr einfach, ein paar weitere Details dazu hier.

Das beschriebene Beispiel ist natürlich sehr simpel, bei typischen Anwendungen schreibe ich 40 Werte im 12-Minuten-Takt (= ca. 3700 Datensätze) in diese CSV-Datei, die die SPS dann am Monatswechsel oder auf Knopfdruck an den Empfängerkreis verschickt.

Gruß

Rainer
 
Zuletzt bearbeitet:
Da ich weitere Projekte hatte und dafür wenig Arbeitszeit, (bin noch im Bachelor Studium) konnte ich es noch nicht probieren.
Ich will es jetzt machen, nur stört mir an diese Lösung eine kleine Sache.

Teil meines Problems ist, dass ich mit einem Empfänger verschiedene Datensätze bekomme, die ich dann weiter verarbeiten will. Diese Daten kommen im Form von Datenpakete (Byte Array) manchmal ganz, manchmal in kleinere Teile, manchmal auch alle nacheinander in einem Datenpaket. Das möchte ich veranschaulichen, allerdings geht es mit der OSCAT Lösung nur mit einem String Datentyp, Byte gibt es nicht. Da die Trennung zwischen ein vollständiger Datensatz und der nächste sich lediglich über ein Current Return machen kann, möchte ich diese richtig sehen können, und auch die mögliche Leerzeichen (Byte#16#00) die bei Fehler auftreten können. Mit STRING kann man nicht so gut sehen was da passiert, als wenn ich den Bytes sehe.

Falls es sonst nicht gehe behalte ich diese Lösung (Habe es ja so weit nicht anders hingekriegt), aber wenn ich ein Log Datei für Bytes bzw byte_array erstellen könnte wäre das wirklich toll.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das wäre bestenfalls mit einem Heidenaufwand möglich, ich habe auch wohl noch nicht so ganz genau verstanden, was Du da vorhast. Klingt eher nach einer art beliebiger Datenpakete, die Du verschicken möchtest.
Wenn Du mit der Phoenix-Library-Lösung nicht weiter kommst solltest Du Dein Problem vielleicht mal im OSCAT-Forum diskutieren.
 
Zurück
Oben