<< Click to Display Table of Contents >> Navigation: Исполнительная система контроллера > Горячий рестарт |
Для контроллеров, используемых в процессах управления и других ответственных задачах, необходимо предусмотреть защиту от потери данных в случае пропадания электропитания. После запуска прерванная работа программы должна продолжаться с того же места. Такая функция называется "горячий" рестарт.
Когда функция "горячего" рестарта включена, контроллер периодически (или по сигналу на определенном входе) сохраняет состояние программы, и если ее выполнение было прервано, то при запуске происходит восстановление и процесс продолжается.
Для включения горячего рестарта, нужно выделить контроллер и перейти на вкладку "Настройки". На этой вкладке нужно включить горячий рестарт.
В поле "Период сохранения данных" записывается значение интервала времени в секундах, с которым данные будут сохраняться в память контроллера. Если контроллер имеет только Flash память, и не имеет памяти SRAM или EEPROM, то рекомендуется отключить эту функцию, установив значение 0 (Flash-память имеет ограниченное число, десятки или сотни тысяч, циклов перезаписи, указанное в техническом описании контроллера, после исчерпания которых контроллер выйдет из строя). В этом случае для сохранения данных можно использовать вход "Сохранение данных" в ресурсах контроллера.
По переднему фронту на этом входе сохранятся данные для рестарта. Сигнал на вход можно подавать от программы, например, сохранять значения только на определенных этапах технологического процесса, или подавать сигнал от источника бесперебойного питания, а на контроллерах ПЛК1хх - от инвертированного сигнала Питание.
Если восстановление электропитания контроллера произойдет не сразу, а спустя длительное время, может оказаться, что продолжение программы с того же места уже является неактуальным. Время, в течение которого, сработает "горячий" рестарт, если восстановится электропитание, задается в поле "Время актуальности данных". Если время простоя превысит это значение, то горячий рестарт не произойдет, и контроллер начнет выполнять программу с начала. Для работы этой функции требуется, чтобы в контроллере были часы реального времени, в противном случае данные будут считаться актуальными постоянно.