значение следующего свободного адреса, который
- <новый_адрес> значение следующего свободного адреса, который равен <адрес> + зарезервированная память в байтах согласно SYS_INITxxx. Это позволяет проконтролировать выделенный объем памяти. Если операция не выполнилась, <новый_адрес> получает нулевое значение.
Теперь можно сделать запрос на резервирование. Эту процедуру можно вызвать в любой момент в приложении; резервирование будет выполнено в конце текущего цикла. Если аппаратура дает возможность информировать пользователя с помощью булевского входа или C функции об отказе питания и обеспечивает хотя бы один цикл ISaGRAF после этого, резервирование можно делать только при обнаружении такого отказа:
<ошибка>:=SYSTEM(SYS_SAVxxx,0);
где
- SYS_SAVxxx может быть:
* SYS_SAVBOO для резервирования всех булевских переменных.
* SYS_SAVANA для резервирования всех аналоговых переменных.
* SYS_SAVTMR для резервирования всех таймерных переменных.
* SYS_SAVALL для резервирования всех булевских, аналоговых и таймерных переменных.
- <ошибка> получает значение ненулевого кода ошибки если операция не выполнилась. (SYS_INITxxx не отработала).
Наконец, Вы можете пожелать восстановить значения зарезервированных переменных. Эту процедуру можно вызвать в любой момент в приложении; резервирование будет выполнено в конце текущего цикла. Формат команды восстановления следующий
<ошибка>:=SYSTEM(SYS_RESTxxx,0);
где
- SYS_RESTxxx может быть:
* SYS_RESTBOO для восстановления всех булевских переменных.
* SYS_RESTANA для восстановления всех аналоговых переменных.
* SYS_RESTTMR для восстановления всех таймерных переменных.
* S YS_RESTALL для восстановления всех булевских, аналоговых и таймерных переменных.
- <ошибка> получает значение ненулевого кода ошибки если операция не выполнилась. (SYS_INITxxx не отработала).
Вот сводка команд функции SYSTEM для управления резервированием переменных
Команда
|
Значение
|
Ключевое слово
|
Значение
|
|
SYS_INITBOO
|
16#20
|
Инициал. Резервирование булевских
|
SYS_SAVBOO
|
16#21
|
Сохранить булевские
|
SYS_RESTBOO
|
16#22
|
Восстановить булевские
|
SYS_INITANA
|
16#24
|
Инициал. Резервирование аналогов
|
SYS_SAVANA
|
16#25
|
Сохранить аналоги
|
SYS_RESTANA
|
16#26
|
Восстановить аналоги
|
SYS_INITTMR
|
16#28
|
Инициал. Резервирование таймеров
|
SYS_SAVTMR
|
16#29
|
Сохранить таймеры
|
SYS_RESTTMR
|
16#2A
|
Восстановить таймеры
|
SYS_INITALL
|
16#2C
|
Инициал. Резервирование всех типов
|
SYS_SAVALL
|
16#2D
|
Сохранить все типы
|
SYS_RESTALL
|
16#2E
|
Восстановить все типы
|
<
Содержание Назад Вперед