PDA

Просмотр полной версии : ПЛК 110.30-M v2 & SysFileOpen



lazy
15.06.2017, 10:28
Добрый день!

Не понятно как стала работать SysFileOpen на новом ПЛК.
Запускаем ПЛК.
Открываем файл SysFileOpen
Пишем в файл какую то запись.
Закрываем файл.
Затем открываем его вновь и добавляем в него еще запись.
Закрываем.
Снова открываем
Снова добавляем запись и закрываем файл.
Все проходит без ошибок.
Пробуем читать из файла - все записи доступны.
Выключаем ПЛК.
Включаем. Пробуем читать - все записи доступны.
Открываем файл на запись.
Пишем (перетираем первую) запись.
Закрываем файл.
Теперь на чтение доступна только одна запись. куда делись остальные?

PS: В принципе, после выключения ПЛК чтобы записи в файле отказались нечитаемые достаточно просто открыть файл на запись, а затем закрыть. так быть не должно.

capzap
15.06.2017, 10:35
какие индексы используете w или а

Филоненко Владислав
15.06.2017, 12:32
Ну так и должно было быть, без а все стирается. Стандартное поведение

lazy
15.06.2017, 13:11
ок. с 'a' все заработало. Вопрос )

Будет ли с 'a' работать на старых ПЛК 110 и 100?

Просто сейчас на новом ПЛК (110v2) юзался код работающий на старых контроллерах. а там насколько я помню даже 'rw' не поддерживалось. и 'w' инфу в файле не затирало.

PS: выходит, что и на новом ПЛК если открыть файл на запись с 'w' повторно (куда раньше уже что то писали) до выключения питания первые записи доступны. то есть 'w' не всегда очищает файл при открытии.

capzap
15.06.2017, 13:46
Будет ли с 'a' работать на старых ПЛК 110 и 100?...и 'w' инфу в файле не затирало.
и раньше 'а' работала, откройте описание бибки, убедитесь что скрин сделан из него

lazy
15.06.2017, 14:15
Эх-эх-эх. К сожалению, "написано" и "работало" это разные вещи.

Филоненко Владислав
15.06.2017, 18:24
w пишет с начала.
w+ еще и стирает