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