Не нужно учитывать ,в том то и фишка - в энергонезависимую память они переписываются при ВЫКЛЮЧЕНИИ. Об этом сами разработчики писали где то.Вот такая матчасть ...
ПС. Я Когда ПР выключаю лампы еще секунд 3-5 светятся ..
Не нужно учитывать ,в том то и фишка - в энергонезависимую память они переписываются при ВЫКЛЮЧЕНИИ. Об этом сами разработчики писали где то.Вот такая матчасть ...
ПС. Я Когда ПР выключаю лампы еще секунд 3-5 светятся ..
электронщик до мозга костей и не только
Эта вожможность закладывается на этапе проектирования .И если ПР (любое) работает с сетевыми переменными ,энергонезависимыми ,то на автомате этот механизм закладывается(реализуется) ,это же вам не ардуино .Сетевые переменные сыплются сотнями в секунду и ни кто в здравом уме не будет их писать в энергонезависимую память .Это очевидные вещи, и если об этом не написано ,то попросите разработчиков написать об этом в руководстве ,только не посылайте их читать даташиты ....
электронщик до мозга костей и не только
Если немного подумать, то можно стирать область заранее, например, при включении, а записывать в уже чистые ячейки, в момент выключения.
PS ну а про запись каждый раз, при изменении, скажу, что по логике работы ПР, любая ячейка перезаписывается (в ОЗУ) при каждом цикле ПР, даже если это значение не меняется.
т.е. просчёт всей схемы идёт каждый раз, вне зависимости поменялось ли что на входе, или нет.
И если в лоб писать каждый раз в энергонезависимую ячейку, то она сдохнет в течении дня.
Последний раз редактировалось AI!; 13.05.2017 в 03:08.
начинающий профессионал
Совершенно непонятная проблема с этими ретэйн переменными. В древнейших автомагнитолах настройки хранились в копеечной статической КМОП памяти, питаемой или литиевой батарейкой, или ионистором 0,47-0, 56 фарады. Заодно и поддерживающей ход часов.
Совершенно верно! Но это там и тогда. А сейчас используется готовый многофункциональный чип - всё в одном! Но подключено от встроенного аккумулятора только 42 шестнадцатиразрядных бэкап-регистров. И всё! Остальное может храниться во флеши, время доступа к которой - мама негорюй!
Производитель ПР-ов честно пишет:при ошибке чтения переменных RETAIN, обновить пользовательскую программу! Но тихо умалчивается, а почему этот сбой произошел..
Последний раз редактировалось По самые по...; 13.05.2017 в 10:44.
Последний раз редактировалось Вольд; 13.05.2017 в 10:55.
Попробую отдельно для вас, сэр.. . Для того чтобы процессор пОнял, что сеть питания исчезла, должен приходить откуда-то сигнал (с гальванической развязкой, но такой схемы в ПР-х нет!!!), о том, что произошло АВАРИЙНОЕ понижение входной питающей сети. По приходу этого сигнала, в процессоре должно произойти прерывание выполняющейся текущей программы пользователя, и начаться выполнение аварийной подпрограммы сохранения ваших ретейн-переменных во флеш. При этом процессор работает на полную мощь и жрет 66мА тока при 72Мгц клока. Это только процессор столько жрёт! Теперь дальше.. Вскоре вырубается импульсный блок питания и происходит БЫСТРОЕ опорожнение электролитов питания процессора, с 3,3В до 2,8...2,2В. При достижении этого уровня, включается супервизор питания и блок контроля питания, который переключает аккумулятор на запитку часов реального времени и сохронение служебной информации в бекап-регистрах. Флеш в этот период уже не работает, процессор входит в режим стендбай и выключается. Всё.
Пользоваться энергонезависимыми переменными надо аккуратно. Это должны быть уставки пользователя, редко меняемые во времени.