
Сообщение от
vniko
Hoblin, Вы пренебрегаете основным правилом работы с Функциональными блоками библиотеки CAA_FILE. Сначала надо дождаться выполнения условия ***.xDone=TRUE, а только затем разрешать переход к следующему CASE **** OF, т.е. началу выполнения другого Функционального блока в следующем цикле. Информация - в Примерах Библиотеки CAA в справке CoDeSys.
Еще Вы работаете с файлом во флеш памяти СПК. Из-за ограниченного ресурса записи, не рекомендуется её использовать. Лучше задайте путь к SD-карте или USB-flash.
Как вариант, читать из файла / писать в файл можно в/из массива байт.
Удобно проверять программу с функциями чтения/записи в файл используя CODESYS Control Win V3. Путь к файлу на компьютере или съёмном флеш, при этом, задаете как обычно в Windows, например D:/filename.csv.
P.S. Очень неудобно разбираться с выложенным Вами примером из-за отсутствия комментариев. Непонятно, например, чтение в FB ReadData Строки FileString из 10000 символов в Строку str из 255 символов. Запись не остановится на 255 символах, если не будет условия нулевого символа в FileString, и будет продолжаться, но только не в str, а в какие-то другие переменные.