Что записано в регистрах HSD50 и рядом с ним в PMP20?
Это блок эксплуатационной статистики в энергонезависимых системных регистрах: время работы контроллера, поведение при пропадании питания и износ flash-памяти. Данные ведёт сам контроллер, программе остаётся их прочитать.
Что где лежит:
- HSD50 — время записи данных после сбоя питания, единица 1 мс. Это тот запас, за который контроллер успевает сохранить энергонезависимые области при отключении.
- HSD51 — время обнаружения сбоя питания, единица 100 мкс.
- HSD52 и HSD53 — длительность последнего сеанса работы контроллера, единица 1 с.
- HSD54 и HSD55 — длительность текущего сеанса работы.
- HSD58 — число выполненных стираний flash-памяти.
Самый полезный из них на практике — счётчик стираний flash. Ресурс flash-регистров ограничен порядка миллионом записей, и каждая запись стирает блок целиком. Если в программе есть запись уставок во flash по неудачному условию, счётчик растёт заметно быстро — по нему это видно за неделю наблюдения, задолго до отказа памяти.
Время работы решает другую задачу — учёт наработки. Регистры сеанса позволяют отличить перезапуск от непрерывной работы: если длительность текущего сеанса регулярно сбрасывается, контроллер перезагружается, и искать надо в питании шкафа, а не в программе.
Все перечисленные регистры энергонезависимые, поэтому статистика переживает снятие питания, но зависит от состояния батареи: при разряженной батарее содержимое энергонезависимых областей не сохраняется.
Прикреплённая документация
Георгий Жуков
Ведущий инженер