<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to File reading or writing error</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/090d466818/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/090d466818/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/090d466818/</id><updated>2020-10-10T13:53:17.340000Z</updated><subtitle>Recent posts to File reading or writing error</subtitle><entry><title>File reading or writing error</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/090d466818/?limit=25#abaa" rel="alternate"/><published>2020-10-10T13:53:17.340000Z</published><updated>2020-10-10T13:53:17.340000Z</updated><author><name>kallileo</name><uri>https://forge.codesys.com/u/kallileo/</uri></author><id>https://forge.codesys.comc635578801110596a2a4baf9a78f8d625d029159</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Found the problem.&lt;/p&gt;
&lt;p&gt;Had to add&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt; &lt;span class="k"&gt;fileopen&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;FALSE&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
 &lt;span class="k"&gt;fileread&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;FALSE&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;in state 2 when file read is complete.&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>File reading or writing error</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/090d466818/?limit=25#9692" rel="alternate"/><published>2020-10-09T20:06:51.137000Z</published><updated>2020-10-09T20:06:51.137000Z</updated><author><name>kallileo</name><uri>https://forge.codesys.com/u/kallileo/</uri></author><id>https://forge.codesys.com5e7d0b4e08952724294ef66d72a7c1ca3a159f1c</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi Thomas&lt;br/&gt;
I rewrote the sequential reading and writing code of the 3 files, implementing a simple CASE state machine and it seems that the problem is in the write and read file function block.&lt;br/&gt;
It seems that the error always appear during state 3 when file that was read must be closed as it is shown in the attached picture.&lt;br/&gt;
Below is the code of read file function block.&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;xReadStart&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;uiReadStatus&lt;/span&gt; &lt;span class="nv"&gt;OF&lt;/span&gt;

    &lt;span class="mi"&gt;0&lt;/span&gt;:  &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Start&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;fileopen&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;FALSE&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;fileread&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;FALSE&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;fileclose&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;FALSE&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="nv"&gt;uiReadStatus&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;uiReadStatus&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="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;open&lt;/span&gt; &lt;span class="nv"&gt;a&lt;/span&gt; &lt;span class="nv"&gt;test&lt;/span&gt;.&lt;span class="nv"&gt;txt&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;fileopen&lt;/span&gt;.&lt;span class="nv"&gt;sFileName&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;sFileName&lt;/span&gt;&lt;span class="c1"&gt;;                               &lt;/span&gt;
        &lt;span class="k"&gt;fileopen&lt;/span&gt;.&lt;span class="nv"&gt;eFileMode&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;fileopen&lt;/span&gt;.&lt;span class="nv"&gt;xExclusive&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="k"&gt;fileopen&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="k"&gt;fileopen&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;hFile&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;fileopen&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;uiReadStatus&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;uiReadStatus&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="nv"&gt;END_IF&lt;/span&gt;
        &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="k"&gt;fileopen&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="nv"&gt;eError&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;fileopen&lt;/span&gt;.&lt;span class="nv"&gt;eError&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;read&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;fileread&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="k"&gt;fileread&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;1000000&lt;/span&gt;&lt;span class="c1"&gt;;                      (* 100ms Timeout *)&lt;/span&gt;
        &lt;span class="k"&gt;fileread&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;sFileString&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="nv"&gt;sFileString&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;sFileString&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;fileread&lt;/span&gt;.&lt;span class="nv"&gt;szBuffer&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;sFileString&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;fileread&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="k"&gt;fileread&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;uiReadStatus&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;uiReadStatus&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="nv"&gt;END_IF&lt;/span&gt;
        &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="k"&gt;fileread&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="nv"&gt;eError&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;fileread&lt;/span&gt;.&lt;span class="nv"&gt;eError&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="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;fileclose&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="k"&gt;fileclose&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="k"&gt;fileclose&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;uiReadStatus&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;uiReadStatus&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="nv"&gt;xExtractParams&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="k"&gt;IF&lt;/span&gt; &lt;span class="k"&gt;fileclose&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="nv"&gt;eError&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;fileclose&lt;/span&gt;.&lt;span class="nv"&gt;eError&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;4&lt;/span&gt;:  &lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="k"&gt;Loop&lt;/span&gt; &lt;span class="nv"&gt;through&lt;/span&gt; &lt;span class="nv"&gt;string&lt;/span&gt; &lt;span class="k"&gt;until&lt;/span&gt; &lt;span class="nv"&gt;there&lt;/span&gt; &lt;span class="nv"&gt;is&lt;/span&gt; &lt;span class="nv"&gt;no&lt;/span&gt; &lt;span class="nv"&gt;string&lt;/span&gt; &lt;span class="nv"&gt;left&lt;/span&gt; &lt;span class="nv"&gt;or&lt;/span&gt; &lt;span class="nv"&gt;array&lt;/span&gt; &lt;span class="nv"&gt;has&lt;/span&gt; &lt;span class="nv"&gt;hit&lt;/span&gt; &lt;span class="nv"&gt;its&lt;/span&gt; &lt;span class="nv"&gt;limits&lt;/span&gt;
            &lt;span class="k"&gt;WHILE&lt;/span&gt; &lt;span class="nv"&gt;StrLenA&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;pstData&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;sFileString&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="k"&gt;DO&lt;/span&gt;
                &lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nv"&gt;Find&lt;/span&gt; &lt;span class="nv"&gt;location&lt;/span&gt; &lt;span class="nv"&gt;of&lt;/span&gt; &lt;span class="nv"&gt;first&lt;/span&gt; &lt;span class="k"&gt;break&lt;/span&gt; &lt;span class="nv"&gt;point&lt;/span&gt;
                &lt;span class="nv"&gt;iSplitLocation&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;StrFindA&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;pst1&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;sFileString&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;, &lt;span class="nv"&gt;pst2&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;sSplitChars&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;, &lt;span class="nv"&gt;uiSearchStart&lt;/span&gt;:&lt;span class="o"&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="mi"&gt;1&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

                &lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="k"&gt;If&lt;/span&gt; &lt;span class="nv"&gt;there&lt;/span&gt; &lt;span class="nv"&gt;is&lt;/span&gt; &lt;span class="nv"&gt;no&lt;/span&gt; &lt;span class="k"&gt;break&lt;/span&gt; &lt;span class="nv"&gt;point&lt;/span&gt; &lt;span class="nv"&gt;found&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt; &lt;span class="nv"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;location&lt;/span&gt; &lt;span class="nv"&gt;to&lt;/span&gt; &lt;span class="nv"&gt;size&lt;/span&gt; &lt;span class="nv"&gt;of&lt;/span&gt; &lt;span class="nv"&gt;string&lt;/span&gt;
                &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;iSplitLocation&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
                    &lt;span class="nv"&gt;iSplitLocation&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;DINT_TO_INT&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;StrLenA&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;pstData&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;sFileString&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="o"&gt;//&lt;/span&gt;&lt;span class="nv"&gt;Copy&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;part&lt;/span&gt; &lt;span class="nv"&gt;of&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;string&lt;/span&gt; &lt;span class="nv"&gt;that&lt;/span&gt; &lt;span class="nv"&gt;is&lt;/span&gt; &lt;span class="nv"&gt;needed&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nv"&gt;the&lt;/span&gt; &lt;span class="nv"&gt;parameter&lt;/span&gt;.
                &lt;span class="nv"&gt;StrMidA&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;
                        &lt;span class="nv"&gt;pst&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;sFileString&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;, 
                        &lt;span class="nv"&gt;uiInputBufferSize&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;sFileString&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;, 
                        &lt;span class="nv"&gt;iLength&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;iSplitLocation&lt;/span&gt;, 
                        &lt;span class="nv"&gt;iPosition&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;, 
                        &lt;span class="nv"&gt;pstResult&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;sShortString&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;, 
                        &lt;span class="nv"&gt;uiResultBufferSize&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;sShortString&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

                &lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nv"&gt;Make&lt;/span&gt; &lt;span class="nv"&gt;sure&lt;/span&gt; &lt;span class="nv"&gt;string&lt;/span&gt; &lt;span class="nv"&gt;is&lt;/span&gt; &lt;span class="nv"&gt;not&lt;/span&gt; &lt;span class="nv"&gt;empty&lt;/span&gt; &lt;span class="nv"&gt;before&lt;/span&gt; &lt;span class="nv"&gt;using&lt;/span&gt; &lt;span class="nv"&gt;up&lt;/span&gt; &lt;span class="nv"&gt;an&lt;/span&gt; &lt;span class="nv"&gt;array&lt;/span&gt; &lt;span class="nv"&gt;spot&lt;/span&gt;.
                &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;StrLenA&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;pstData&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;sShortString&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt; &lt;span class="o"&gt;&amp;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;arParameters&lt;/span&gt;[&lt;span class="nv"&gt;iCount&lt;/span&gt;] :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;STRING_TO_INT&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;sShortString&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
                    &lt;span class="nv"&gt;iCount&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;iCount&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="nv"&gt;END_IF&lt;/span&gt;

                &lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nv"&gt;Remove&lt;/span&gt; &lt;span class="nv"&gt;copied&lt;/span&gt; &lt;span class="nv"&gt;components&lt;/span&gt; &lt;span class="nv"&gt;from&lt;/span&gt; &lt;span class="nv"&gt;long&lt;/span&gt; &lt;span class="nv"&gt;string&lt;/span&gt;
                &lt;span class="nv"&gt;StrDeleteA&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;pby&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;sFileString&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;, &lt;span class="nv"&gt;iLength&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;iSplitLocation&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;, &lt;span class="nv"&gt;iPosition&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

                &lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nv"&gt;Check&lt;/span&gt; &lt;span class="nv"&gt;to&lt;/span&gt; &lt;span class="nv"&gt;see&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nv"&gt;more&lt;/span&gt; &lt;span class="nv"&gt;parameters&lt;/span&gt; &lt;span class="nv"&gt;can&lt;/span&gt; &lt;span class="nv"&gt;fit&lt;/span&gt; &lt;span class="nv"&gt;in&lt;/span&gt; &lt;span class="nv"&gt;array&lt;/span&gt;. &lt;span class="k"&gt;If&lt;/span&gt; &lt;span class="nv"&gt;not&lt;/span&gt; &lt;span class="k"&gt;exit&lt;/span&gt; &lt;span class="k"&gt;loop&lt;/span&gt;
                &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;iCount&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;MAX_PARAMETERS&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
                    &lt;span class="nv"&gt;iCount&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="k"&gt;EXIT&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_WHILE&lt;/span&gt;
            &lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nv"&gt;xExtractParams&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;uiReadStatus&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;uiReadStatus&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="mi"&gt;5&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;procedure&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
        &lt;span class="nv"&gt;xExtractionComplete&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_CASE&lt;/span&gt;
&lt;span class="k"&gt;ELSE&lt;/span&gt;
    &lt;span class="nv"&gt;eError&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FILE&lt;/span&gt;.&lt;span class="nv"&gt;ERROR&lt;/span&gt;.&lt;span class="nv"&gt;NO_ERROR&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;xExtractionComplete&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;uiReadStatus&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;/div&gt;</summary></entry><entry><title>File reading or writing error</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/090d466818/?limit=25#b318" rel="alternate"/><published>2020-10-09T12:44:07.946000Z</published><updated>2020-10-09T12:44:07.946000Z</updated><author><name>Thomas</name><uri>https://forge.codesys.com/u/thk/</uri></author><id>https://forge.codesys.com8365fec121e66a38d014adb0319b97d9d8acf517</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Sorry, I haven't read that you start a new job after finished the old one. Are other libraries in your project, which use the AsyncManger. F. e. CAA NetBaseSrv&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>File reading or writing error</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/090d466818/?limit=25#ee36" rel="alternate"/><published>2020-10-09T12:40:09.116000Z</published><updated>2020-10-09T12:40:09.116000Z</updated><author><name>Thomas</name><uri>https://forge.codesys.com/u/thk/</uri></author><id>https://forge.codesys.com5af0157d736cf1cc316ffaaf72594f47e9f4855f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Dear Kallileo,&lt;br/&gt;
The number of jobs is limited in the Runtime. This limit applies to all libraries together!!!!&lt;/p&gt;
&lt;p&gt;Do you have several jobs (reading/writting) at the same time? &lt;br/&gt;
== &amp;gt;&amp;gt; Make sure that a new job is not started until the other one is finished.&lt;/p&gt;
&lt;p&gt;Regards Thomas&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>File reading or writing error</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/090d466818/?limit=25#7a7c" rel="alternate"/><published>2020-10-09T12:16:54.541000Z</published><updated>2020-10-09T12:16:54.541000Z</updated><author><name>kallileo</name><uri>https://forge.codesys.com/u/kallileo/</uri></author><id>https://forge.codesys.comf3b75ff73f55236b6eeef9a29dd3fab58b58d92c</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I'm using Codesys 3.5.12 and File Access library 3.5.7 to read and write 3 user configuration files and 3 to read default configuration files. The files are not big with around 100 parameters each.&lt;/p&gt;
&lt;p&gt;Usually it works but many times it's randomly throwing the following error:&lt;br/&gt;
ASM_CREATEJOB_FAILED&lt;br/&gt;
5113 Job creation of AsyncManager failed &lt;/p&gt;
&lt;p&gt;I read and write the files sequentially. As soon reading/writing of the first files is complete it goes to the next one. I have also tried to put time delay in between but the error is still there and it's driving me crazy.&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>