exponenta event banner

Разделить длинное моделирование на сегменты

В этом примере показано, как использовать операционные точки с диаграммами Stateflow. Операционная точка - это снимок состояния модели Simulink ® в определенное время во время моделирования. Для диаграммы Stateflow ® операционная точка включает:

  • Активность состояний диаграммы

  • Значения локальных данных диаграммы

  • Значения выходных данных диаграммы

  • Значения постоянных данных в блоках MATLAB ® и таблицы истинности

Дополнительные сведения см. в разделе Использование операционных точек в Stateflow.

Цель учебного пособия

Предположим, что вы хотите смоделировать эту модель, не начиная с времени t = 0.

Эта модель моделируется в течение 1400 секунд, но выход, который вас интересует, возникает где-то между t = 400 и 600. Можно смоделировать модель, сохранить рабочую точку в момент времени t = 400, а затем загрузить эту рабочую точку для моделирования между t = 400 и 600.

Шаг 1: Определение рабочей точки

1. Откройте модель sf_boiler.

2. Разрешить сохранение операционной точки.

  А. Откройте диалоговое окно Параметры конфигурации модели (Model Configuration Parameters) и перейдите на панель Импорт/экспорт данных (Data Import/Export).

  b. Установите флажок Конечные состояния.

  c. Введите имя, например sf_boiler_ctx01.

  d. Установите флажок Сохранить конечную операционную точку.

  e. Нажмите «Применить».

Для выполнения этого шага программным путем введите:

set_param('sf_boiler', ...
    'SaveFinalState','on', ...
    'FinalStateName','sf_boiler_ctx01', ...
    'SaveOperatingPoint','on');

Дополнительные сведения о настройке параметров модели см. в разделе set_param (Simulink).

3. Определите время начала и окончания для этого сегмента моделирования.

  О. В диалоговом окне Параметры конфигурации модели (Model Configuration Parameters) перейдите на панель Решатель (Solver).

  b. В поле «Время начала» введите 0.

  C. В поле «Время остановки» введите 400.

  c. Нажмите кнопку «ОК».

Для выполнения этого шага программным путем введите:

set_param('sf_boiler', ...
    'StartTime','0', ...
    'StopTime','400');

4. Начать моделирование. При моделировании модели полная рабочая точка сохраняется в переменной при t = 400. sf_boiler_ctx01 в базовой рабочей области MATLAB.

5. Отключить сохранение операционной точки. Этот шаг не позволяет перезаписать операционную точку, сохраненную на предыдущем шаге.

  А. Откройте диалоговое окно Параметры конфигурации модели (Model Configuration Parameters) и перейдите на панель Импорт/экспорт данных (Data Import/Export).

  b. Снимите флажок Сохранить конечную операционную точку.

  c. Снимите флажок Конечные состояния.

  d. Нажмите кнопку ОК.

Для выполнения этого шага программным путем введите:

set_param('sf_boiler', ...
    'SaveOperatingPoint','off', ...
    'SaveFinalState','off');

Шаг 2: Загрузка рабочей точки

1. Включить загрузку операционной точки.

  А. Откройте диалоговое окно Параметры конфигурации модели (Model Configuration Parameters) и перейдите на панель Импорт/экспорт данных (Data Import/Export).

  b. Установите флажок Начальное состояние.

  c. Введите переменную, содержащую операционную точку диаграммы, sf_boiler_ctx01.

  d. Нажмите кнопку «Применить».

Для выполнения этого шага программным путем введите:

set_param('sf_boiler', ...
    'LoadInitialState','on', ...
    'InitialState','sf_boiler_ctx01');

2. Определите новое время остановки для этого сегмента моделирования. Вводить новое время начала не требуется, поскольку моделирование продолжается с того момента, на котором оно было остановлено.

  О. В диалоговом окне Параметры конфигурации модели (Model Configuration Parameters) перейдите на панель Решатель (Solver).

  b. В поле «Время остановки» введите 600.

  c. Нажмите кнопку «ОК».

Для выполнения этого шага программным путем введите:

set_param('sf_boiler','StopTime','600');

Шаг 3: Моделирование конкретного сегмента

При моделировании модели в блоке Область (Simulink) появляются следующие выходные данные.

См. также

) | (Симулинк)

Связанные темы