В этом примере показано, как использовать рабочие точки с диаграммами Stateflow. Рабочая точка является снимком состояния состояния модели Simulink® в определенное время в процессе моделирования. Для графика Stateflow® рабочая точка включает:
Действие состояний графика
Значения графика локальные данные
Значения выходных данных графика
Значения персистентных данных в функциях MATLAB® и блоках Таблицы истинности
Для получения дополнительной информации смотрите Использование рабочих точек в Stateflow.
Предположим, что вы хотите симулировать эту модель, не начиная со времени t = 0.
Эта модель симулирует в течение 1 400 секунд, но выход, который интересует вас, происходит когда-то между t = 400 и 600. Можно симулировать модель, сохранить рабочую точку во время t = 400, и затем загрузить ту рабочую точку для симуляции между t = 400 и 600.
1. Откройте sf_boiler модель.
2. Позвольте сохранить рабочей точки.
a. Откройте диалоговое окно Model Configuration Parameters и перейдите к панели Импорта/Экспорта Данных.
b. Установите флажок конечных состояний.
c. Введите имя, такое как sf_boiler_ctx01
.
d. Установите флажок рабочей точки финала Save.
e. Нажмите Apply.
Завершать этот шаг программно, введите:
set_param('sf_boiler', ... 'SaveFinalState','on', ... 'FinalStateName','sf_boiler_ctx01', ... 'SaveOperatingPoint','on');
Для получения дополнительной информации об установке параметров модели, смотрите
.set_param
(Simulink)
3. Задайте запуск и времена остановки для этого сегмента симуляции.
a. В диалоговом окне Model Configuration Parameters перейдите к панели Решателя.
b. В течение Времени начала введите 0
.
c. Для Времени остановки введите 400
.
c. Нажать ОК.
Завершать этот шаг программно, введите:
set_param('sf_boiler', ... 'StartTime','0', ... 'StopTime','400');
4. Запустите симуляцию. Когда вы симулируете модель, вы сохраняете полную рабочую точку в t = 400 в переменной sf_boiler_ctx01
в базовом рабочем пространстве MATLAB.
5. Отключите сохранение рабочей точки. Этот шаг препятствует тому, чтобы вы перезаписали рабочую точку вы сохраненный на предыдущем шаге.
a. Откройте диалоговое окно Model Configuration Parameters и перейдите к панели Импорта/Экспорта Данных.
b. Снимите флажок рабочей точки финала Сохранения.
c. Снимите флажок конечных состояний.
d. Нажать ОК.
Завершать этот шаг программно, введите:
set_param('sf_boiler', ... 'SaveOperatingPoint','off', ... 'SaveFinalState','off');
1. Позвольте загрузить рабочей точки.
a. Откройте диалоговое окно Model Configuration Parameters и перейдите к панели Импорта/Экспорта Данных.
b. Установите флажок начального состояния.
c. Введите переменную, которая содержит рабочую точку вашего графика, sf_boiler_ctx01
.
d. Нажмите Apply.
Завершать этот шаг программно, введите:
set_param('sf_boiler', ... 'LoadInitialState','on', ... 'InitialState','sf_boiler_ctx01');
2. Задайте новое время остановки для этого сегмента симуляции. Вы не должны вводить новое время начала, потому что симуляция продолжается от того, где она кончила.
a. В диалоговом окне Model Configuration Parameters перейдите к панели Решателя.
b. Для Времени остановки введите 600
.
c. Нажать ОК.
Завершать этот шаг программно, введите:
set_param('sf_boiler','StopTime','600');
Когда вы симулируете модель, следующий выход появляется в блоке Scope (Simulink).
Scope (Simulink) | set_param
(Simulink)