Нет. Retain хранится в файле на Flash памяти ПЛК. его можно даже через ПЛК браузер увидеть и при желании скачать.
Ограничение вводится дабы все данные однозначно успели записаться. Файловые операции достаточно длительные и энергоемкие, отсюда и ограничения.
По сути Retain каждый может реализовать самостоятельно. Как только получаем фронт отключения питания все жизненно необходимые данные пишем в файл. Как только приходит фронт включения питания, данные восстанавливаем. И даем разрешение на пуск основного алгоритма.
Пробовал подобное сделать. По фронту нажатия кнопки файл прекрасно писался, по фронту флага отключения питания - нет. Вы можете привести пример, желательно на st? Может я чего-то не учёл, хотя чего - так и не понял. Такое ощущение сложилось, что запись во флешь пользователем запрещена, когда ПЛК "сидит" на аккумуляторе.
Железяка должна быть такой: нажал кнопку — работает
Просмотрел по форуму стоны народа по поводу аккумулятора (батарейки), а также неоднократные уверения представителей компании в том, что с данным вопросом что-то будут делать (пруфлинк по поводу ПЛК100, интересующего меня).
Да... Получается не очень весело. Ни удобного способа замены аккума, ни штатных мер по его экономному расходованию я так и не увидел. Что из этого следует: на аккум полагаться нельзя.
Собственно, я так и решил пару лет назад. Ни одного ритейна, никаких надежд на аккум, да еще и отпаивали его при выпуске изделий, чтобы не мешал нормально быстро перезапускаться ПЛК (что бы там овеновцы не выдумывали в поддержку своей теории борьбы с погаными сетями - это чушь). Потом, правда, я поставил слежение за питанием из модуля Статистики и научился сбрасывать ПЛК сразу. Аккумы перестали выпаивать, и то хорошо.
Но жизнь требует иногда новых ходовВот и понадобилось мне перебрасывать данные из ОЗУ во флеш ПЛК. И делаю именно так, как пишет уважаемый Александр:
Работает. Причем, в силу безобразно расточительного использования аккума господами разработчиками, я спокойно прописываю 100 файлов, а процессор все молотит...
Но теперь вот вопрос: при наличии аккумулятора такой "ритейн" работает. А вот если его нет? Если он есть, но сдох? Сумею ли я по-быстрячку прописать ОДИН небольшой файлик (сотня-другая байт), получив КАРАУЛ! от модуля Статистики? Пока вижу, что нет. Отпаял аккум, запустил свою прогу, вырубил питание. Включаю - ни один файл не записался.
Означает ли это, что при полной смерти аккумулятора такой метод сохранения данных из ОЗУ принципиально не работает?
Или у меня просто кривые руки?
Спасибо!
Извините, прошу отвечать вот сюда
Не разобрался, куда вбросить вопрос.
Последний раз редактировалось drvlas; 16.09.2013 в 12:31. Причина: перенос на другую ветку