ISaGRAF. Version 3.4


CСохранение переменных приложения - часть 3


-  <новый_адрес> значение следующего свободного адреса, который равен <адрес> + зарезервированная память в байтах согласно 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

Восстановить все типы

<


Начало  Назад  Вперед