и пишет тоже? - тогда у вас старая прошивка.
и пишет тоже? - тогда у вас старая прошивка.
Поставил самую последнюю прошивку с сайта, действительно теперь с флагом 'rw' не работает но и с 'w' теперь дописывать нехочет. Тоесть он пишет но с начала файла перетирая всю существующую инфу, а SysFileSetPos в любых выриациях возвращает ошибку за исключением SysFileSetPos(pF,0). Так как все таки переместить указатель в конец файла и дописать его. Кстати вы говорили что при открытии с флагом 'w' файл открывается в режиме RW всегда кроме случая когда открывается у же открытый - то режим R, но у меня всегда открывается только на запись и прочитать из него ничего не могу соответственно и указатель не могу переместить.
Киньте рабочий пример для идеота, а то уже неделю кругами вокруг этой проблемы бегаю.
Target 2.0
Прошивка 2.01.1
CodeSys 2.3.7.5
SysLibFile.lib 2.4.0.6
вот код
fln:STRING;
pF: DWORD;
buf:STRING(255);
Size: DWORD;
err:BOOL;
pF:=SysFileOpen(fln, 'w');
Size:=SysFileGetSize(fln);
err:=SysFileSetPos(pF,Size-1);
res:=SysFileWrite(pF, ADR(buf), LEN(buf));
err:=SysFileClose(pF);
Последний раз редактировалось Andrey; 22.06.2007 в 05:31.
а в ответ тишина... неужели в новой версии прошивки нельзя реализовать дозапись файла?
Хорошо в понедельник пришлю, хотя приведненый фрагмент кода практически полностью соответствует тестовому проекту
остается лиш дописать fln:='test.txt' и buf:='Test 1 Test 2 Test3', ну и обеспечить однократное выполнение кода например при нажатии кнопки в визуализации.
вот тестовый проект
наверное никак...
добрый день!
в текущей версии библиотеки при открытии файла на запись он удаляется...
в сл. версии файла это исправим
P.s. и ещё 5 копеек по представленному проекту.
у вас запись в конец начинается по нажатию кнопки и длится пока кнопка нажата -
как следствие пока кнопка нажата, контроллер 1000 раз в секунду будет писать во Flash!
очередь команд на запись по Flash из кэша не бесконечная и в этом случае через 300-400 мс она переполнится и нек-е блоки не будут записаны.
будьте внимательны и не делайте так никогда!
Последний раз редактировалось Филоненко Владислав; 02.07.2007 в 11:32.
это тестовый проект, в реальности запись происходит по другим условиям без участия кнопки, и делается доп проверка по условию пока идет запись новая запись не начнется.