November 11, 2015

Что не так с PERSISTENT?

RETAIN — не используйте. PERSISTENT сохраняйте при каждой загрузке контроллера. NOV/DP-RAM работает автоматически.

В случае с PERSISTENT переменные будут автоматически восстановлены при следующей загрузке. Но(!) только при следующей. Если не сохранить переменные в текущей сессии — при следующей загрузке они не восстановятся! Так сделано для улучшения контроля за целостностью данных на флеш-памяти и, как следствие, для повышения надежности.

Стандартный сценарий работы с PERSISTENT-переменными:
- Прибывает новый станок.
- Первая загрузка ПЛК (параметры по умолчанию).
- Оператор изменил параметры, нажал кнопку «Сохранить».
- Прошел вызов WritePersistentData().
- PERSISTENT-переменные сохранились на флеш.
- Длинный рабочий день.
- Конец смены.
- Станок отключен в конце рабочего дня.
...
- Ночь.
- Утро. Оператор поправляет спецовку и включает станок.
- ПЛК загрузился.
- PERSISTENT-переменные автоматически восстановили свое значение.
- ПЛК-программа самостоятельно вызывает WritePersistentData().
- PERSISTENT-переменные сохраняются для автоматического восстановления при следующей загрузке.
- Длинный рабочий день.
- Конец смены.
- Станок отключен в конце рабочего дня.
...
- Ночь.
- Утро. Оператор поправляет кепку и включает станок.
- ПЛК загрузился.
- PERSISTENT-переменные автоматически восстановили свое значение.
- ПЛК-программа самостоятельно вызывает WritePersistentData().
PERSISTENT-переменные сохраняются для автоматического восстановления при следующей загрузке.



Используйте Нов-дипи-рам, там все работает автоматически.

No comments

Post a Comment

Note: Only a member of this blog may post a comment.