CSV Datei mit einer Wago Sps erstellen

Newbie88

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

seit langem habe ich das Problem mit der WAGO 750-880 eine CSV DATEI zu schreiben....
Vieleicht könnte mir jemand weiter helfen. Ich versuche die Werte meines Zähler alle 5 Sekunden in
eine CSV Datei zu speichern. Leider gelingt mir das nicht. Das Zählen funktioniert und im Buffer
steht der Wert anschließend auch.....aber die Datei wird nicht erzeugt...

PROGRAM PLC_PRG
VAR
zaehler:INT;
POSFLANK:BOOL;
FLANKE:BOOL;
POSFLANKE:BOOL;
TONInst:TON;
Timer_start:BOOL;
Timer_signal:BOOL;
FileName:STRING:='C:\Code.csv';
FileMode:STRING:='w';
SysFileOpenNum:WORD;
WriteBuffer:STRING;
DWWritten:WORD;
handle:WORD;
MODE:STRING;
SIGNAL: BOOL;
END_VAR



IF SIGNAL= TRUE AND FLANKE = FALSE
THEN POSFLANKE:= TRUE;
FLANKE:=TRUE;
ELSE
POSFLANKE:=FALSE;
END_IF

IF SIGNAL = FALSE THEN FLANKE:=FALSE;
END_IF

IF POSFLANKE THEN zaehler:=zaehler+1;
END_IF



TONInst(IN:= NOT TONInst.Q,PT:=T#15s);
Timer_signal:=TONInst.Q;

IF Timer_signal
THEN
SysFileOpenNum:=SysFileOpen(Filename,FileMode);
WriteBuffer:=INT_TO_STRING(zaehler);
WriteBuffer:=CONCAT(WriteBuffer, ';');
DWWritten:=SysFileWrite(SysFileOpenNum,ADR(WriteBuffer),LEN(WriteBuffer));
SysFileClose(SysFileOpenNum);
zaehler:=0;
END_IF


Hätte jemand eine Idee woran es liegt?
Für jede Hilfe wäre ich euch sehr dankbar ;)

MFG
 
Oscat schon ausprobiert?

Hallo Newbie88,

unter www.oscat.de gibt es eine Library network, die diese Funktion beinhaltet.
Eventuell könntest du hier mal schauen, ob was passendes für dich dabei ist...

Schöne Grüße
Daniel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Vaninger,

Danke nochmals. Gibt es aber nicht noch eine andere Möglichkeit das mit den normalen Wago Bibilotheken hand zu haben?Ich mein er Puffert den Wert ja auch schon. Nur die CSV datei erstellt er nicht.....:(
 
Hallo,
ja ich gabs raus bekommen und du hast recht das c muss weg gelassen werden und staddessen s: für die speicherkarte eingegeben werden.

danke dir nochmals
 
Hallo Zusammen,

vielleicht noch einmal als Ergänzung: Sofern bei der Dateiangabe kein Laufwerksbuchstabe angegeben wird, landet die Datei auf dem internen Flash. Mit der Angabe des Laufwerksbuchstabens "S:" wird die Datei auf die Speicherkarte geschrieben. Gleiches gilt auch für das Lesen.
Sowohl interner als auch externer (=Speicherkarte) lassen sich per FTP-Client auslesen. Hier ist nur zu beachten, dass man dem FTP-Client den initialen Laufwerksbuchstaben mitgibt. Nennt man keinen (Standard bei allen FTP-Clients) landet man stets auf dem internen Speicher. Gibt man als Startpfad "S:" an (wird allerdings nicht von allen FTP-Clients unterstützt) landet man auf der Speicherkarte.

Bei weiteren Fragen könnt Ihr uns auch gerne unter den unten genannten Adressdaten direkt kontaktieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wago

Hallo Zusammen,

wie gesagt das speichern hat funktioniert, jedoch stehen die Daten kreuz und quer in der Textdatei.....außerdem möchte ich die Impulse noch mit einem Zeitstempel versehen. Gibts 1. Irgendeinen Befehl, die daten sauber in der Text datei zu speichern? und zweitens kann man mit dem selben Befehl das datum speichern ohne die voherigen Daten in der Text datei zu löschen?

Mfg

Newbie
 
Hallo Newbie,

dass Du die Datei mit "Append" öffnen muss, um Daten anzuhängen wurde Dir ja schon in Deinem Parallelthreat http://www.sps-forum.de/showthread....er-Wago-750-880-erstellen?p=407841#post407841 erläutert.
Ein komplettes Tutorial, wie man eine csv-Datei erstellt haben wir derzeit auch nicht griffbereit. Du solltest Dir aber zunächst Gedanken machen, wie Du die Daten gerne hättest und wann Du diese Schreiben willst. Beispiel: Mit CONCAT fügst Du Deine Daten solange zusammen bis Du eine Zeile Deiner Datei in einem String (WriteBuffer) hast. Das letzte CONCAT muss einen Zeilenwechsel beinhalten (CR/LF). Diese Zeile schreibst Du dann in die Datei und wiederholst den Vorgang für jede Zeile erneut.

Bei weiteren Fragen kannst Du uns auch gerne unter den unten genannten Adressdaten direkt kontaktieren.
 
Csv

Hallo Wago,

Ich stelle mir das eigentlich so vor das ich zwei spalten habe.In der einen Spalte sind die Impulse und in der anderen Spalte der Zeitstempel.Diese sollen in der csv datei durch ";" getrennt sein damit ich die werte in excel importieren und auswerten kan (Trendverlaufdarstellung).
Bsp: 45; 2012-08-10 20:45:30
88; 2012-08-10 20:46:00
........

Für jede Hilfe bin ich dankbar :)
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo alle Zusammen,

Also das Dateien schreiben Funktioniert auch das Zusammenfügen von den einzelnen Strings, mein Problem bis her ist eigentlich nur, dass sich die Zeilen nicht Linksbündig anorden. Momentan schreibt er es so in die Text Datei:
DT#2012-10-25-10:25:18;45
------DT#2012-10-25-10:25:18;45
------DT#2012-10-25-10:25:18;45
-----DT#2012-10-25-10:25:18;45
Was ich aber gerne möchte ist er das er die Strings sauber Linksbündig untereinander schreiben tut.
bsp:
DT#2012-10-25-10:25:18;45
DT#2012-10-25-10:25:18;45
DT#2012-10-25-10:25:18;45
DT#2012-10-25-10:25:18;45

hätte mir jemand vieleicht einen Rat?

Danke

Euer Newbie
 
hallo

hast du nach jeder zeile ein carriage return und linefeed zeichen eingefügt ?

aber warum quälst du dich mit dem herum

gehe auf www.oscat.de, doer lädst du dir die oscat_network.lib herunter
im kapitel datalogger findest du etwas fertiges .......

in der lib selber im ordner "demo" findest du das demo programm "DLOG_STORE_FILE_CSV" das brauchst du nur abändern...
 
Oscat

Hallo peewit,

danke für die Info hast du vieleicht einen genaueren Link?ich finde die File leider nicht....Das hat letztens geklappt mit dem Sauberen untereinander speicher der Daten, jedoch ist das erste Problem ohne ein Array, ist der Schreibzugriff beschränkt auf 100.000 mal so wie mir das Wago erzählt.
Also bräuchte ich dazu noch ein Array. ...

Mfg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
dem dem link gehst du links oben auf downloadmanager und dort kannst du dann im dropdown-dialog alles anwählen

es kommt drauf an wieviele daten in welcher zeit anfallen
aber bei normaler vernünftiger handhabung spielen die 100.000 schreibzyklen überhaupt keine rolle

es sind hier ja 100.000 schreibzyklen pro sektor, und es wird ja normalerweise nicht immer auf den gleichen sektor geschrieben
somit ist die lebensdauer wesentlich höher !

die besseren flash-controller haben ein sektor-mangmant so dass absichtlich möglichst selten der gleichen sektor benutzt wird.
 
Zurück
Oben