TIA .csv-Datei mit TMAIL_C verschicken.

Philipp_14

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Grüßt euch!

Ich benutze eine "CPU 1510SP-1PN und TIA V15.
Meine Aufgabe ist, 1x täglich einen Zählerstand auf einer .csv-Datei auf der Speicherkarte der Steuerung anzuhängen.
Das klappt auch soweit mit "DataLogCreate, DataLogWrite,.."
Über den Web-Browser kann man die .csv-Datei einsehen.

Nun soll ich täglich eine email von der Steuerung versenden. Dies geschieht mit "TMAIL_C".
Die .csv-Datei solls als Anhang mitgeschickt werden.

Bie der "TMAIL_C"-Funktion kann man unter "ATTACHMENT" etwas Anhängen ("VARIANT")
Aus der Siemns-Hilfe, dazu:
"..Anhang der E-Mail (optional)
Referenz auf ein Byte-/Wort-/Doppelwort-Feld (ArrayOfByte, ArrayOfWord oder ArrayOfDWord) mit einer maximalen Länge von 64 KByte.."


Hat jemand schonmal so etwas gemacht, und hat vielleicht einen Tip für mich, wie ich die .csv-Datei auf der Speicherkarte der Steuerung
in den Anhang der email verlinken kann?

Vielen Dank für eure Mühe !
 
Das Data-log, welches per Systemfunktion auf die Karte geschrieben wird kann man nicht im Anwenderprogramm zurück lesen.
das geht leider nicht :-(

Wenn dann muss man sich das ganze parallel als DB in der CPU Vorhalten und zum verschicken im CSV Format zuvor noch entsprechend aufbereiten.

VG RedCali
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Philipp

Das müsste gehen. Schau dir mal die Anweisung FileReadC an.
Mit dieser Anweisung solltest du dein DataLog lesen können und ein einem Array of Byte zwischenspeichern.
Dieses Array dann als Anhang verschicken.

Gruss
 
Hi Philipp

Das müsste gehen. Schau dir mal die Anweisung FileReadC an.
Mit dieser Anweisung solltest du dein DataLog lesen können und ein einem Array of Byte zwischenspeichern.
Dieses Array dann als Anhang verschicken.

Gruss

FileReadC greift auf den Ordner UserFiles zu, DataLogs liegen im Ordner DataLogs
das wird nicht klappen damit :)
 
Moin,
FileReadC greift auf den Ordner UserFiles zu, DataLogs liegen im Ordner DataLogs
das wird nicht klappen damit :)
bist du sicher? Die Hilfe schließt das jetzt nicht explizit aus - nur der FileWriteC schreibt immer in den Ordner UserFiles - beim Lesen (FileReadC) soll man einen Pfad angeben können :confused:
 
Moin Delta,
ich zweifel gerade an meiner Sehkraft :confused: dort steht doch auch nix vom Ordner UserFiles, oder stehe ich gerade auf dem Schlauch :oops:
 
Moin Delta,
ich zweifel gerade an meiner Sehkraft :confused: dort steht doch auch nix vom Ordner UserFiles, oder stehe ich gerade auf dem Schlauch :oops:

Guten Morgen Howard

Aus der Hilfe "FileReadC"

Beispiele für gültige Pfadangaben bzw. Dateinamen sind: "UserFiles/Lift16_DataBase.txt", "UserFiles/2017-04-13_ErrorLog.bin"
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ah ok, das habe ich schon gelesen. Mich hat nur gewundert, dass in der Hilfe zu FileWriteC explizit steht:
Mit der Anweisung "FileWriteC" schreiben Sie Daten, die sich in einem Quellbereich auf der CPU befinden, in eine im Ordner "UserFiles" auf der Memory Card liegende Datei. Diese Datei identifizieren Sie über ihren Namen und ihre vollständige Pfadangabe. Wenn die Datei nicht existiert, wird sie von der CPU im Ordner "UserFiles" angelegt...
und so ein eindeutiger Hinweis fehlt mir bei der Hilfe zu FileReadC:
Mit der Anweisung "FileReadC" lesen Sie Daten aus einer Datei, die sich auf der Memory Card befindet, und schreiben sie in einen Zielbereich auf der CPU. Die Datei identifizieren Sie über ihren Namen und ihre vollständige Pfadangabe.
Deshalb hätte ich das jetzt nicht zwingend ausgeschlossen und dem TE nahegelegt es einfach mal zu probieren. Ich hab leider mit beiden Funktionen noch nicht gearbeitet.
 
Moin,

bist du sicher? Die Hilfe schließt das jetzt nicht explizit aus - nur der FileWriteC schreibt immer in den Ordner UserFiles - beim Lesen (FileReadC) soll man einen Pfad angeben können :confused:

Hi,

das habe ich so noch nie gesehen das es da zwischen Write und Read einen unterschied gibt im Pfad
Bei Write ist es definitiv so das es nur in die Userfiles geht, bei Read muss man es noch mal testen :)
 
ah ok, das habe ich schon gelesen. Mich hat nur gewundert, dass in der Hilfe zu FileWriteC explizit steht:

und so ein eindeutiger Hinweis fehlt mir bei der Hilfe zu FileReadC:

Deshalb hätte ich das jetzt nicht zwingend ausgeschlossen und dem TE nahegelegt es einfach mal zu probieren. Ich hab leider mit beiden Funktionen noch nicht gearbeitet.

In welcher TIA Version schaust du denn in die Hilfe? In V15.1 steht es zumindest eindeutig ( in V14 evtl. noch nicht )
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute!

Vielen Dank für eure schnellen, interessanten Antworten!
Mein Chef hat gestern gemeint ich soll mich nicht verkünsteln, und meine Prioritäten sind im Moment leicht verschoben,
aber sobald ich Zeit habe probier ich das aus mit FileReadC und geb nochmal bescheid!

Ihr seid echt spitze, Danke!!
 
Ich bin auch in V15.1 am schauen. Wie gesagt, die beispielhaften Pfade habe ich auch gesehen. Mir fehlt nur der Hinweis in der Funktionsbeschreibung, dass ich nur in diesem Ordner lesen kann.
Die beispielhaften Pfadangaben könnte man auch als Erklärstück für die gültigen Dateinamen verstehen... ich weis es einfach nicht.
Ich bin gespannt was Philipp_14 nach seinem Test zu berichten hat ;)
 
Hallo nochmal,

ich hab jetzt mal FileReadC ausprobiert, und zwar mit folgenden Pfadangaben:

"UserFiles/DataLog/MyDataLog.csv"
"DataLog/MyDataLog.csv.csv"
hab auch mal ".bin" und ".txt" probiert


Bekomme immer die Fehlermeldung 8091 "Pfad existiert nicht, oder ist ungültig"

Hab ich noch nen Fehler in der Pfadangabe?
Ist nicht mehr wirklich entscheidend für mich, eher interessehalber.

Danke euch,
Gruß Philipp
 
Zurück
Oben