Сохранение состояния программы
Существует возможность сохранения любого состояния любой прикладной программы, однако представляется рискованным восстанавливать программу в том состоянии, которое было зафиксировано в момент последнего резервирования, по крайней мере, по трем причинам:
- Некоторые процессы требуют определенных предварительных действий перед рестартом
- Очень нудно возиться со всеми многочисленными статусными характеристиками состояния процесса
- Некоторые внешние ресурсы, такие как периферийные устройства или программы C не могут быть автоматически перезапущены
Представляется, что лучшее решение - это сохранить аналоговые или булевские переменные, описывающие состояние процесса, в те моменты, когда, по мнению программиста, есть возможность использовать их при рестарте. После этого было бы возможно с помощью возможно неполного, но достаточно разумного ‘снимка’ состояния процесса запустить, убить или заморозить программы SFC и инициализировать переменные, чтобы привести приложение в адекватное состояние. В ISaGRAF не предусмотрено никакой автоматической процедуры старта.
Затем можно из незавершенного, но интеллектуального 'образа' процесса запускать, убивать или замораживать программы SFC и инициализировать переменные, чтобы привести приложение в адекватное состояние. Но процедура автоматического запуска не может быть обеспечена ISaGRAF.
Представляется, что лучшее решение - это сохранить аналоговые или булевские переменные, описывающие состояние процесса, в те моменты, когда, по мнению программиста, есть возможность использовать их при рестарте. После этого было бы возможно с помощью возможно неполного, но достаточно разумного ‘снимка’ состояния процесса запустить, убить или заморозить программы SFC и инициализировать переменные, чтобы привести приложение в адекватное состояние. В ISaGRAF не предусмотрено никакой автоматической процедуры старта.
Пример:
![](image/index-image608.gif)