Что нельзя делать с flash-регистрами FD и SFD в PMP20?
Главное ограничение — ресурс записи: flash-регистры PMP20 выдерживают порядка 1 000 000 циклов, причём каждая запись стирает весь блок целиком и занимает заметное время. Частая запись убивает память необратимо.
Что из этого следует для программы:
- Не использовать в качестве условия записи меняющиеся катушки. Тактовые импульсы вроде SM11 в условии команды MOV в FD — прямой путь к отказу памяти.
- Не писать по SM0 и SM2. Помимо ресурса, при передаче данных в flash во время включения возможны помехи; рекомендуется выполнять запись через некоторое время после подачи питания, а не в первом цикле.
- Условие — только нарастающий фронт. При передаче данных в FD, SFD и FS команда MOV отрабатывает один раз даже при постоянно замкнутом условии.
- Повторная запись того же значения не выполняется. Если в FD100 уже лежит 300 и в источнике по-прежнему 300, команда просто не сработает — это не сбой.
Назначение областей разное: FD0–FD8191 — пользовательские данные (уставки, рецепты, коэффициенты), SFD (6000 адресов начиная с SFD0) — системные настройки самого контроллера (фильтр входов, режимы высокоскоростных счётчиков, конфигурация модулей). Обе области сохраняют данные при разряженной батарее, поэтому важные параметры процесса держат именно здесь, а не в HD.
Прикреплённая документация
Георгий Жуков
Ведущий инженер