<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to CSV File Writing Overwrite error RPi</title><link href="https://forge.codesys.com/forge/talk/CODESYS-V2/thread/ba0beaa29e/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/CODESYS-V2/thread/ba0beaa29e/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/CODESYS-V2/thread/ba0beaa29e/</id><updated>2020-02-27T23:06:19.548000Z</updated><subtitle>Recent posts to CSV File Writing Overwrite error RPi</subtitle><entry><title>CSV File Writing Overwrite error RPi</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/ba0beaa29e/?limit=25#4f75" rel="alternate"/><published>2020-02-27T23:06:19.548000Z</published><updated>2020-02-27T23:06:19.548000Z</updated><author><name>PJE</name><uri>https://forge.codesys.com/u/pje/</uri></author><id>https://forge.codesys.com695f6d07f30a424c6d47934910e1b98da6e16e3e</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Are you opening the file in write W or append A mode?&lt;/p&gt;
&lt;p&gt;I've not looked at your library, but the one I used allowed me to open the file with append to add data - just be careful the file doesn't get too large.&lt;/p&gt;
&lt;p&gt;Sent from my iPhone using Tapatalk Pro&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CSV File Writing Overwrite error RPi</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/ba0beaa29e/?limit=25#4fe3" rel="alternate"/><published>2020-02-27T23:06:14.968000Z</published><updated>2020-02-27T23:06:14.968000Z</updated><author><name>SpeedyG</name><uri>https://forge.codesys.com/u/speedyg/</uri></author><id>https://forge.codesys.com6fcaacb5735bde1954dc056a152e651a9fa129cc</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi Primitive Source,&lt;/p&gt;
&lt;p&gt;it seems we have kind of the same problem here, but you are one step ahead of me. So I also want to write &amp;amp; read a csv-file in a certain directory. As my code is mostly similar and you wrote &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
I can create the file successfully, and write to it each time a :BOOL is triggered TRUE.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I want to ask you: Where is your file stored? And where in your code do you influence on where it's going to be stored? &lt;br/&gt;
Did you solve your problem? I know it's been one year already, but hopefully you care to help me a bit  &lt;/p&gt;
&lt;p&gt;Kind regards,&lt;br/&gt;
SpeedyG&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CSV File Writing Overwrite error RPi</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/ba0beaa29e/?limit=25#e6c1" rel="alternate"/><published>2020-02-27T23:06:13.256000Z</published><updated>2020-02-27T23:06:13.256000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.com51e423193b22e1ca6c95e7ec4094e9e62f3083a7</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; Primitive Source&lt;/p&gt;
&lt;p&gt;Hello, I am a bit of a newbie to the whole programming world but have learnt a fair bit over the passed few months. My latest stumbling block is writing to a csv file created in my programme on the pi. I can create the file successfully, and write to it each time a :BOOL is triggered TRUE. However each time I trigger this switch, I overwrite the existing data. I am using .CAA library. &lt;/p&gt;
&lt;p&gt;Where am i going wrong in the code below, this is taken from the example in the help section and amended slightly for my string/ triggers. I first of all create a file with one case/one :BOOL name RUN. Then the file is opened again in the Append mode by :BOOL named FiWr but still seems to overwrite each time is triggered rather than adding to the end of the file&lt;/p&gt;
&lt;p&gt;Var&lt;br/&gt;
RUN: BOOL;&lt;br/&gt;
FiWr: BOOL;&lt;br/&gt;
FINSTR:= CONCAT(SEMFINSTR,'$R$N');&lt;br/&gt;
csvwrite:= UDINT:=0;&lt;br/&gt;
END_VAR&lt;/p&gt;
&lt;p&gt;xFileStdInit:= RUN;&lt;/p&gt;
&lt;p&gt;IF NOT xFileStdInit THEN&lt;br/&gt;
    filop(xExecute:=FALSE);&lt;br/&gt;
    filcl(xExecute:=FALSE);&lt;br/&gt;
    filwr(xExecute:=FALSE);&lt;br/&gt;
    filrd(xExecute:=FALSE);&lt;br/&gt;
    xFileStdInit:=TRUE;&lt;br/&gt;
    uiFileStdState:=0;&lt;br/&gt;
ELSE&lt;br/&gt;
    CASE uiFileStdState OF&lt;br/&gt;
        0:(&lt;em&gt; create a new file &lt;/em&gt;)&lt;br/&gt;
            filop.sFileName:=sFileName;&lt;br/&gt;
            filop.eFileMode:=FILE.MODE.MRDWR;&lt;br/&gt;
            filop.xExclusive:=TRUE;&lt;br/&gt;
            filop( xExecute:=TRUE);&lt;br/&gt;
            IF filop.xDone THEN&lt;br/&gt;
                hFile:=filop.hFile;&lt;br/&gt;
                uiFileStdState:=1;&lt;br/&gt;
            END_IF&lt;br/&gt;
            IF filop.xError THEN&lt;br/&gt;
                (&lt;em&gt; error handling&lt;/em&gt;)&lt;br/&gt;
                ;&lt;br/&gt;
            END_IF&lt;br/&gt;
        1:(&lt;em&gt; close file  - TestFile.txt &lt;/em&gt;)&lt;br/&gt;
            filcl.hFile:=hFile;&lt;br/&gt;
            filcl( xExecute:=TRUE);&lt;br/&gt;
            IF filcl.xDone THEN&lt;br/&gt;
                uiFileStdState:=2;&lt;br/&gt;
            END_IF&lt;br/&gt;
            IF filcl.xError THEN&lt;br/&gt;
                (&lt;em&gt; error handling&lt;/em&gt;)&lt;br/&gt;
                ;&lt;br/&gt;
            END_IF&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;    &lt;span class="mi"&gt;2&lt;/span&gt;:&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="k"&gt;end&lt;/span&gt; &lt;span class="nv"&gt;of&lt;/span&gt; &lt;span class="nv"&gt;example&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
        &lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_CASE&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_IF&lt;/p&gt;
&lt;p&gt;IF NOT  FiWr THEN&lt;br/&gt;
    filop(xExecute:=FALSE);&lt;br/&gt;
    filcl(xExecute:=FALSE);&lt;br/&gt;
    filwr(xExecute:=FALSE);&lt;br/&gt;
    filrd(xExecute:=FALSE);&lt;br/&gt;
    FiWr:= TRUE;&lt;br/&gt;
    csvwrite:=0;&lt;br/&gt;
ELSE&lt;br/&gt;
    CASE csvwrite OF&lt;br/&gt;
        0:(&lt;em&gt; create a new file &lt;/em&gt;)&lt;br/&gt;
            filop.sFileName:=sFileName;&lt;br/&gt;
            filop.eFileMode:=FILE.MODE.MAPPD;&lt;br/&gt;
            filop.xExclusive:=TRUE;&lt;br/&gt;
            filop( xExecute:=TRUE);&lt;br/&gt;
            IF filop.xDone THEN&lt;br/&gt;
                hFile:=filop.hFile;&lt;br/&gt;
               csvwrite:=1;&lt;br/&gt;
            END_IF&lt;br/&gt;
            IF filop.xError THEN&lt;br/&gt;
                (&lt;em&gt; error handling&lt;/em&gt;)&lt;br/&gt;
                ;&lt;br/&gt;
            END_IF&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;    &lt;span class="mi"&gt;1&lt;/span&gt;:&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;write&lt;/span&gt; &lt;span class="nv"&gt;text&lt;/span&gt; &lt;span class="nv"&gt;in&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;file&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
        &lt;span class="nv"&gt;filwr&lt;/span&gt;.&lt;span class="nv"&gt;hFile&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;hFile&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="nv"&gt;filwr&lt;/span&gt;.&lt;span class="nv"&gt;pBuffer&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;ADR&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;FINSTR&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="nv"&gt;szFileSize1&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;SIZEOF&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;FINSTR&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="nv"&gt;filwr&lt;/span&gt;.&lt;span class="nv"&gt;szSize&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;szFileSize1&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="nv"&gt;filwr&lt;/span&gt;.&lt;span class="nv"&gt;udiTimeOut&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;100000&lt;/span&gt;&lt;span class="c1"&gt;;    (* 100ms Timeout *)&lt;/span&gt;
        &lt;span class="nv"&gt;filwr&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;xExecute&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;TRUE&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;filwr&lt;/span&gt;.&lt;span class="nv"&gt;xDone&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
            &lt;span class="nv"&gt;csvwrite&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="nv"&gt;END_IF&lt;/span&gt;
        &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;filwr&lt;/span&gt;.&lt;span class="nv"&gt;xError&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
            &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;error&lt;/span&gt; &lt;span class="nv"&gt;handling&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
            &lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="nv"&gt;END_IF&lt;/span&gt;

    &lt;span class="mi"&gt;2&lt;/span&gt;:&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;close&lt;/span&gt; &lt;span class="nv"&gt;file&lt;/span&gt;  &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nv"&gt;TestFile&lt;/span&gt;.&lt;span class="nv"&gt;txt&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
        &lt;span class="nv"&gt;filcl&lt;/span&gt;.&lt;span class="nv"&gt;hFile&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;hFile&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="nv"&gt;filcl&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;xExecute&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;TRUE&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;filcl&lt;/span&gt;.&lt;span class="nv"&gt;xDone&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
            &lt;span class="nv"&gt;csvwrite&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="nv"&gt;END_IF&lt;/span&gt;
        &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;filcl&lt;/span&gt;.&lt;span class="nv"&gt;xError&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
            &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;error&lt;/span&gt; &lt;span class="nv"&gt;handling&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
            &lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="nv"&gt;END_IF&lt;/span&gt;

    &lt;span class="mi"&gt;3&lt;/span&gt;:&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="k"&gt;end&lt;/span&gt; &lt;span class="nv"&gt;of&lt;/span&gt; &lt;span class="nv"&gt;example&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
        &lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_CASE&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_IF&lt;/p&gt;
&lt;p&gt;I hope you can help  &lt;/p&gt;&lt;/div&gt;</summary></entry></feed>