<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Codesys CSV file export</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/35b5834357/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/35b5834357/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/35b5834357/</id><updated>2020-02-27T13:49:08.220000Z</updated><subtitle>Recent posts to Codesys CSV file export</subtitle><entry><title>Codesys CSV file export</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/35b5834357/?limit=25#648f" rel="alternate"/><published>2020-02-27T13:49:08.220000Z</published><updated>2020-02-27T13:49:08.220000Z</updated><author><name>CanBohr</name><uri>https://forge.codesys.com/u/canbohr/</uri></author><id>https://forge.codesys.com18fbc76eda65f1ae98f9753d4bad98ede7454541</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I managed to get it to work perfectly based on your code.&lt;br/&gt;
Thanks a lot for your help.&lt;br/&gt;
Cheers,&lt;br/&gt;
CanBohr&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Codesys CSV file export</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/35b5834357/?limit=25#d62e" rel="alternate"/><published>2020-02-27T13:49:08.131000Z</published><updated>2020-02-27T13:49:08.131000Z</updated><author><name>CanBohr</name><uri>https://forge.codesys.com/u/canbohr/</uri></author><id>https://forge.codesys.comd82c14ee4aa48a9f309f1a495113ac77fe1ebda0</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Thanks for your hint and effort.&lt;br/&gt;
I will try it and let you know the result.&lt;br/&gt;
Cheers,&lt;br/&gt;
CanBohr&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Codesys CSV file export</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/35b5834357/?limit=25#c0ae" rel="alternate"/><published>2020-02-27T13:49:07.979000Z</published><updated>2020-02-27T13:49:07.979000Z</updated><author><name>dFx</name><uri>https://forge.codesys.com/u/dfx/</uri></author><id>https://forge.codesys.coma5ce9d390b20b72e3c56cce9e87a9001a8133120</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Opening and closing a file is asynchronous in most systems, meaning that it will need several cpu cycles to process (on fast cycle tasks). &lt;br/&gt;
Using CAA.File may help sequencing correctly (with xDone/xError).&lt;/p&gt;
&lt;p&gt;Your code is closing twice the same file (bad placed end_if ?).&lt;/p&gt;
&lt;p&gt;purposal of nicer sequencing that may fit asynchronous writing (not tested, need completion on error handling):&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;WriteToFile&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
   &lt;span class="nv"&gt;CASE&lt;/span&gt; &lt;span class="nv"&gt;FileWriteStep&lt;/span&gt; &lt;span class="nv"&gt;OF&lt;/span&gt;
      &lt;span class="mi"&gt;0&lt;/span&gt;: &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="nv"&gt;Open&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;file&lt;/span&gt;
         &lt;span class="nv"&gt;FilePathAndName&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;Concat&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;PLC_PRG&lt;/span&gt;.&lt;span class="nv"&gt;sFilePathData&lt;/span&gt;,&lt;span class="nv"&gt;PLC_PRG&lt;/span&gt;.&lt;span class="nv"&gt;sFileNameData&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
         &lt;span class="nv"&gt;handleData&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SysFileOpen&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;szFile&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FilePathAndName&lt;/span&gt;, &lt;span class="nv"&gt;SysFile&lt;/span&gt;.&lt;span class="nv"&gt;AM_APPEND_PLUS&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;SysFileOpenResult&lt;/span&gt;&lt;span class="ss"&gt;)&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;handleData&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;RTS_INVALID_HANDLE&lt;/span&gt; &lt;span class="nv"&gt;AND&lt;/span&gt; &lt;span class="nv"&gt;SysFileOpenResult&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;CmpErrors&lt;/span&gt;.&lt;span class="nv"&gt;Errors&lt;/span&gt;.&lt;span class="nv"&gt;ERR_OK&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
            &lt;span class="nv"&gt;FileWriteStep&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
         &lt;span class="k"&gt;ELSE&lt;/span&gt;
            &lt;span class="nv"&gt;FileWriteStep&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="c1"&gt;; // Throw error&lt;/span&gt;
         &lt;span class="nv"&gt;END_IF&lt;/span&gt;
      &lt;span class="mi"&gt;1&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;data&lt;/span&gt;
         &lt;span class="nv"&gt;SysFileWritenBytes&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SysFileWrite&lt;/span&gt;&lt;span class="ss"&gt;(&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;handleData&lt;/span&gt;, &lt;span class="nv"&gt;pbyBuffer&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;resultdata_csv&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;, &lt;span class="nv"&gt;ulSize&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;pEnd&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;resultdata_csv&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; , &lt;span class="nv"&gt;pResult&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;SysFileWriteResult&lt;/span&gt;&lt;span class="ss"&gt;)&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;SysFileWritenBytes&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="nv"&gt;AND&lt;/span&gt; &lt;span class="nv"&gt;SysFileWriteResult&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;CmpErrors&lt;/span&gt;.&lt;span class="nv"&gt;Errors&lt;/span&gt;.&lt;span class="nv"&gt;ERR_OK&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
            &lt;span class="nv"&gt;FileWriteStep&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="k"&gt;ELSE&lt;/span&gt;
            &lt;span class="nv"&gt;FileWriteStep&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;;   // Throw error&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="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="nv"&gt;and&lt;/span&gt; &lt;span class="k"&gt;end&lt;/span&gt; &lt;span class="nv"&gt;sequence&lt;/span&gt;
         &lt;span class="nv"&gt;SysFileCloseResult&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SysFileClose&lt;/span&gt;&lt;span class="ss"&gt;(&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;handleData&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;SysFileCloseResult&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;CmpErrors&lt;/span&gt;.&lt;span class="nv"&gt;Errors&lt;/span&gt;.&lt;span class="nv"&gt;ERR_OK&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
            &lt;span class="nv"&gt;WriteToFile&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
         &lt;span class="k"&gt;ELSE&lt;/span&gt;
            &lt;span class="nv"&gt;FileWriteStep&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="c1"&gt;; // Throw error&lt;/span&gt;
         &lt;span class="nv"&gt;END_IF&lt;/span&gt;
      &lt;span class="k"&gt;ELSE&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="k"&gt;Do&lt;/span&gt; &lt;span class="nv"&gt;some&lt;/span&gt; &lt;span class="nv"&gt;error&lt;/span&gt; &lt;span class="nv"&gt;management&lt;/span&gt; &lt;span class="nv"&gt;here&lt;/span&gt;
        &lt;span class="nv"&gt;WriteToFile&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;END_CASE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;ELSE&lt;/span&gt;
   &lt;span class="nv"&gt;FileWriteStep&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Edit: Slight syntax correction&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Codesys CSV file export</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/35b5834357/?limit=25#e616" rel="alternate"/><published>2020-02-27T13:49:07.599000Z</published><updated>2020-02-27T13:49:07.599000Z</updated><author><name>CanBohr</name><uri>https://forge.codesys.com/u/canbohr/</uri></author><id>https://forge.codesys.com6fca423b06e6377fae21d40a8024f230d9962e48</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I am doing the write process a bit different and I am using a FileOpenData flag to check if the file is already open. &lt;br/&gt;
So this might not be the problem.&lt;br/&gt;
Any other hints?&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;NOT&lt;/span&gt; &lt;span class="nv"&gt;FileOpenData&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
   
   
   &lt;span class="nv"&gt;FilePathAndName&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;Concat&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;PLC_PRG&lt;/span&gt;.&lt;span class="nv"&gt;sFilePathData&lt;/span&gt;,&lt;span class="nv"&gt;PLC_PRG&lt;/span&gt;.&lt;span class="nv"&gt;sFileNameData&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   
   &lt;span class="nv"&gt;handleData&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SysFileOpen&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;szFile&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FilePathAndName&lt;/span&gt;, &lt;span class="nv"&gt;AM_APPEND_PLUS&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;rte&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;      &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;Datastring&lt;/span&gt; &lt;span class="nv"&gt;to&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="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;SysFileWrite&lt;/span&gt;&lt;span class="ss"&gt;(&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;handleData&lt;/span&gt;, &lt;span class="nv"&gt;pbyBuffer&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;resultdata_csv&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;, &lt;span class="nv"&gt;ulSize&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;pEnd&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;resultdata_csv&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; , &lt;span class="nv"&gt;pResult&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;rte&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
      
      &lt;span class="nv"&gt;iERRORData&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;92&lt;/span&gt;&lt;span class="c1"&gt;; (* Could not write to file *)&lt;/span&gt;
      &lt;span class="nv"&gt;sStatusData&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Could not write file.&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
      &lt;span class="nv"&gt;SysFileClose&lt;/span&gt;&lt;span class="ss"&gt;(&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;handleData&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;FileOpenData&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;Close&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="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;SysFileClose&lt;/span&gt;&lt;span class="ss"&gt;(&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;handleData&lt;/span&gt; &lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
               &lt;span class="nv"&gt;FileOpenData&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
               &lt;span class="nv"&gt;sStatusData&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;File Saved.&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
               &lt;span class="nv"&gt;iERRORData&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;91&lt;/span&gt;&lt;span class="c1"&gt;; (* Could not close file *)&lt;/span&gt;
               &lt;span class="nv"&gt;sStatusData&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Could not close file.&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
               &lt;span class="nv"&gt;xReadyForData&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
         &lt;span class="nv"&gt;END_IF&lt;/span&gt;
      &lt;span class="nv"&gt;END_IF&lt;/span&gt;
   &lt;span class="k"&gt;ELSE&lt;/span&gt;
      &lt;span class="nv"&gt;xWritingData&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;   &lt;/span&gt;
      &lt;span class="nv"&gt;xStartData&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
      &lt;span class="nv"&gt;xReadyForData&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;TRUE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
         
   &lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry><entry><title>Codesys CSV file export</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/35b5834357/?limit=25#1c04" rel="alternate"/><published>2020-02-27T13:49:07.497000Z</published><updated>2020-02-27T13:49:07.497000Z</updated><author><name>dFx</name><uri>https://forge.codesys.com/u/dfx/</uri></author><id>https://forge.codesys.com580b64a0af9da2dfe9bf2615702eecb7e9858eba</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;In this project, there is :&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;fopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;xExecute&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;At the time you execute the file close, this may be a problem. Try to execute fopen only if your file hasn't been opened yet (xDone = false) and you want to write in it.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Codesys CSV file export</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/35b5834357/?limit=25#2e5d" rel="alternate"/><published>2020-02-27T13:49:07.404000Z</published><updated>2020-02-27T13:49:07.404000Z</updated><author><name>CanBohr</name><uri>https://forge.codesys.com/u/canbohr/</uri></author><id>https://forge.codesys.com1bfc8960fcbb5a58baa56ef0a260f1481de64692</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hello Wollvieh,&lt;/p&gt;
&lt;p&gt;Thanks a lot for your testfile. I am using it to write data into a csv-file.&lt;br/&gt;
It's working 1000 times. &lt;/p&gt;
&lt;p&gt;But after 1000 write operations the systems (Codesys) exits and needs to be restarted.&lt;/p&gt;
&lt;p&gt;Have you had this issue also? Do you have an explanation for it?&lt;/p&gt;
&lt;p&gt;Cheers,&lt;br/&gt;
CanBohr&lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG: Codesys write CSV Data Fehler.jpg" rel="nofollow" src="https://forum.codesys.com//download/file.php?id=4490"/&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Codesys CSV file export</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/35b5834357/?limit=25#fc68" rel="alternate"/><published>2020-02-27T13:49:07.314000Z</published><updated>2020-02-27T13:49:07.314000Z</updated><author><name>dongyaocode</name><uri>https://forge.codesys.com/u/dongyaocode/</uri></author><id>https://forge.codesys.com4d2525943d55bf08d58a318c1c323e96fccd6d95</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hello rjafrate,&lt;br/&gt;
Yes, I think so but dont know how to deal with it. I waited till the time out and stopped running, still no file! I plan to try a new idea, OPC communication with matlab. Hope it will work.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;rjafrate hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
After writing to the file you need to wait until the write operation is actually performed before closing the file.  The SysFile lib you are using should tell how to examine error, status, etc&lt;/p&gt;
&lt;/blockquote&gt;&lt;/div&gt;</summary></entry><entry><title>Codesys CSV file export</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/35b5834357/?limit=25#1f63" rel="alternate"/><published>2020-02-27T13:49:07.223000Z</published><updated>2020-02-27T13:49:07.223000Z</updated><author><name>dongyaocode</name><uri>https://forge.codesys.com/u/dongyaocode/</uri></author><id>https://forge.codesys.comcea1b35148ef489f66539eeb0c4e81ef4058c35d</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hello wollvieh,&lt;br/&gt;
Thanks for your help. I  have seen your program in another post. But maybe because the different patch, I can not run your program. I have no idea what is the problem. Seems like the program I found is right, but no file exported. I will try find out what is going on. Thanks again.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;wollvieh hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
look at this sample program...&lt;br/&gt;
it writes 100 real values multiplied by 3600 rows (360000 values) in a csv file.&lt;br/&gt;
maybe it gives you an inspiration ?&lt;br/&gt;
I used he Codesys V3.5SP9Patch5 and the Codesys ControlWINV3 as runtime...&lt;br/&gt;
csv.JPG&lt;br/&gt;
test_csv.project&lt;br/&gt;
wollvieh.&lt;/p&gt;
&lt;/blockquote&gt;&lt;/div&gt;</summary></entry><entry><title>Codesys CSV file export</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/35b5834357/?limit=25#71fe" rel="alternate"/><published>2020-02-27T13:49:07.135000Z</published><updated>2020-02-27T13:49:07.135000Z</updated><author><name>rickj</name><uri>https://forge.codesys.com/u/rickj/</uri></author><id>https://forge.codesys.come32c6f73569a4c75cb6fe66719aa4273ec378202</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;After writing to the file you need to wait until the write operation is actually performed before closing the file.  The SysFile lib you are using should tell how to examine error, status, etc&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Codesys CSV file export</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/35b5834357/?limit=25#2846" rel="alternate"/><published>2020-02-27T13:49:07.045000Z</published><updated>2020-02-27T13:49:07.045000Z</updated><author><name>wollvieh</name><uri>https://forge.codesys.com/u/wollvieh/</uri></author><id>https://forge.codesys.com347f9d46d1f7e2372b57b3244908ef03517b33f1</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;look at this sample program...&lt;/p&gt;
&lt;p&gt;it writes 100 real values multiplied by 3600 rows (360000 values) in a csv file.&lt;br/&gt;
maybe it gives you an inspiration ?&lt;/p&gt;
&lt;p&gt;I used he Codesys V3.5SP9Patch5 and the Codesys ControlWINV3 as runtime...&lt;/p&gt;
&lt;p&gt;wollvieh.&lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG: csv.JPG" rel="nofollow" src="https://forum.codesys.com//download/file.php?id=2356"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="https://forum.codesys.com//download/file.php?id=2355" rel="nofollow"&gt;test_csv.project &lt;span&gt;&lt;span&gt;[121.25 KiB]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>