# Von Codesys in eine csv exportieren



## dr_zoidberg (17 Mai 2011)

Hallo ich habe ein kurze Frageob mir einer helfen könnte, 
wie ich den Wert einer String Variablen in eine csv Datei exportieren kann?

Vielen Dank
Gruss


----------



## cybertracepda (17 Mai 2011)

In dem Verezichnis der Installation con Codesys

C:\Program Files\3S Software\CoDeSys V2.3\Documents\German

gibt es das Dokument SyslibFile.pdf und syslibFileAsync.pdf.

Dort ist das Filehandling beschrieben.
Hängt auch vom target ab, ob es das kann.

Gibt auch glaube ich Beispiele im Forum von Codesys.


----------



## gloeru (17 Mai 2011)

Der Zugriff auf Dateien kann Systemabhängig sein. Als Alternative zu der vom Hersteller bereitgestellten Lösung gibt es in der Oscat Network Library den Baustein DLOG_STORE_FILE_CSV...


----------



## dr_zoidberg (18 Mai 2011)

erstmal vielen dank für eure schnelle hilfe 
ich habe 

ich habe einen code erstellt aber er hat bei mir ein problem damit 
vlt könnt ihr mir helfen den fehler zu finden 


```
IF TFR_0 THEN
 
SysFileOpenNum:=SysFileOpen
WriteBuffer:= ' ';
WriteBuffer:=BYTE_TO_STRING (str_Wert)
DwWritten:=SysFileWrite(SysFIleopenNum,ARD(WirteBuffer),SIZEOF(WirteBuffer));
SysFIleClose(SysFileOpenNum);
 
END_IF;
```
 
Gruss


----------



## dr_zoidberg (18 Mai 2011)

erstmal vielen dank für eure schnelle hilfe 
ich habe 

ich habe einen code erstellt aber er hat bei mir ein problem damit 
vlt könnt ihr mir helfen den fehler zu finden 


```
IF TFR_0 THEN
 
SysFileOpenNum:=SysFileOpen
WriteBuffer:= ' ';
WriteBuffer:=BYTE_TO_STRING (str_Wert)
DwWritten:=SysFileWrite(SysFIleopenNum,ARD(WirteBuffer),SIZEOF(WirteBuffer));
SysFIleClose(SysFileOpenNum);
 
END_IF;
```
 
Gruss


----------



## cybertracepda (18 Mai 2011)

Schreib ADR statt ARD, ist mir acuh schon passiert.

Gruß

Cybertrace


----------



## dr_zoidberg (18 Mai 2011)

vielen Dank für den tipp das habe ich ganz übersehen 

aber kannst du mir noch weiter helfen da das programm auch mit dieser korrektur nicht startbar ist 

vielen dank 

gruss


----------



## dr_zoidberg (6 Juni 2011)

Hallo Zusammen,

es funkuniert leider immer noch nicht.
Ich will gerne einen String in eine CSV Datei schreiben.
Worauf dann wieder ein andere Programmteil zugreift um eine Steurerung zubetreiben.

Ich habe bis jetzt folgenden Code:



```
PROGRAM PLC_PRG
VAR
 
 FileName: STRING:= 'C:\Dokumente und Einstellungen\Administrator\Desktop\Datenübertragung.csv';
 Mode: STRING:='w';
 DwWritten: DWORD;
 SysFileOpenNum: DWORD;
 WriteBuffer: STRING(80);
 File: DWORD;
 Buffer: DWORD;
 Size: DWORD:=1;
 myTON: TON;
 b_Read: BOOL;
 
 str_Fischer: STRING;
 

 
END_VAR
 
 IFb_READ THEN
  SysFileOpenNum:=SysFileOpen(FileName, Mode);
  DwWritten:=SysFileWrite(SysFIleopenNum,ADR(str_Fischer),SIZEOF(str_Fischer));
  SysFileClose:=(SysFileOpenNum);
 END_IF;
```
 


Ich weiß nicht genau wo mein Fehler liegt


----------



## gloeru (6 Juni 2011)

Nur kurz:

```
[COLOR=#000000][COLOR=#0000CC]FileName[/COLOR][COLOR=#006600]: [/COLOR][COLOR=#0000CC]STRING[/COLOR][COLOR=#006600]:= [/COLOR][COLOR=#CC0000]'C:\Dokumente und Einstellungen\Administrator\Desktop\Datenübertragung.csv'[/COLOR][COLOR=#006600];[/COLOR][/COLOR]
```
finde ich unschön, weiss zwar nicht ob das der Fehler ist.

Nimm doch sowas, schauen dass der Ordner vorhanden und frei beschreibbar ist...

```
[COLOR=#000000][COLOR=#0000CC]FileName[/COLOR][COLOR=#006600]: [/COLOR][COLOR=#0000CC]STRING[/COLOR][COLOR=#006600]:= [/COLOR][COLOR=#CC0000]'C:\test\file.csv'[/COLOR][COLOR=#006600];[/COLOR][/COLOR]
```


----------



## KvT (7 Juni 2011)

Im Beitrag unter :

SPS-Forum > Automatisierung > Programmierstrategien 

 *String in eine .txt schreiben/öffnen*

findest einige Anmerkungen.

Du musst dafür sorgen, dass das Öffnen nur einmalig stattfindet. Also Schrittkette oder die in diesem Beitrag dargestellten Möglichkeiten ...

Die Rückmeldungen abfangen und erst dann schreiben ...


----------

