Навигация:
<< >> Оглавление Указатель

Описание пользователя

Глава 3. Использование стандартных модулей автокомпиляции

§3.7. Краткий перечень вводимых в модель описаний и реакций на события

§3.7.7. Загрузка и запись мгновенного состояния блока

§3.7.7.2. Запись состояния блока

Событие записи состояния возникает у блока в процессе работы сервисной функции rdsSaveSystemState, вызвав которую модель любого блока может сохранить состояние блоков всей схемы или какой-либо ее отдельной подсистемы, чтобы позже его можно было восстановить вызовом rdsLoadSystemState. В реакции на это событие модель должна записать все данные, которые она позже будет загружать в реакции на событие загрузки состояния. В интерфейсе пользователя RDS не предусмотрено сохранения и восстановления состояния схемы – этим должны заниматься модели блоков. Сохранение и загрузка состояний блоков и подсистем подробно описаны в §2.14.3 руководства программиста. Значения статических переменных блока сохраняются и восстанавливаются автоматически. Модель должна сохранять только значения динамических переменных, за которые она отвечает, и значения своих внутренних параметров, если таковые имеются.

Текст реакции на событие записи состояния вводится на вкладке «события» левой панели редактора модели: раздел «загрузка и запись состояния», подраздел «запись состояния блока». В классе блока для нее создается функция с именем rdsbcppSaveState:

  // Saving block parameters for stored state
  void rdsbcppBlockClass::rdsbcppSaveState(void)
  {
     … пользовательский текст реакции … 
  }

Внутри этой функции данные должны записываться вызовами функции rdsWriteBlockData, позже они будут загружены вызовами rdsReadBlockData в том же порядке.

При написании моделей блоков без использования модуля автокомпиляции событию записи состояния соответствует константа RDS RDS_BFM_SAVESTATE.


<< >> Оглавление Указатель