Рабочая точка является снимком состояния состояния модели Simulink® в определенное время в процессе моделирования. Для графика Stateflow® рабочая точка включает:
Действие состояний графика
Значения графика локальные данные
Значения выходных данных графика
Значения персистентных данных в функциях MATLAB® и блоках Таблицы истинности
Для получения дополнительной информации смотрите Используя Рабочие точки в Stateflow.
Предположим, что вы хотите протестировать ответ old_sf_car модель к внезапному изменению в значении для gear.

Эта модель симулирует в течение 30 секунд, но вы хотите видеть то, что происходит когда значение gear изменения в t = 10. Можно симулировать модель, сохранить рабочую точку в t = 10, загрузить и изменить рабочую точку, и затем симулировать снова между t = 10 и 20.
| Шаг | Задача | Ссылка |
|---|---|---|
| 1 | Задайте рабочую точку для своего графика. | Задайте рабочую точку |
| 2 | Загрузите рабочую точку и измените значения. | Загрузите рабочую точку и измените значения |
| 3 | Протестируйте модифицированную рабочую точку путем выполнения модели. | Протестируйте модифицированную рабочую точку |
Откройте модель old_sf_car.
Позвольте сохранить рабочей точки.
Откройте диалоговое окно Model Configuration Parameters и перейдите к панели Data Import/Export.
Установите флажок Final states.
Введите имя, такое как old_sf_car_ctx01.
Установите флажок Save final operating point.
Нажмите Apply.
Задайте запуск и времена остановки для этого сегмента симуляции.
В диалоговом окне Model Configuration Parameters перейдите к панели Solver.
Для Start time введите 0.
Для Stop time введите 10.
Нажмите OK.
Запустите симуляцию.
Когда вы симулируете модель, вы сохраняете полную рабочую точку в t = 10 в переменной old_sf_car_ctx01 в базовом рабочем пространстве MATLAB.
В t = 10, механизм действует в установившемся значении 2 500 об/мин.

Отключите сохранение рабочей точки.
Этот шаг препятствует тому, чтобы вы перезаписали рабочую точку вы сохраненный на предыдущем шаге.
Откройте диалоговое окно Model Configuration Parameters и перейдите к панели Data Import/Export.
Снимите флажок Save final operating point.
Снимите флажок Final states.
Нажмите OK.
Позвольте загрузить рабочей точки.
Откройте диалоговое окно Model Configuration Parameters и перейдите к панели Data Import/Export.
Установите флажок Initial state.
Введите переменную, которая содержит рабочую точку вашего графика: old_sf_car_ctx01.
Нажмите OK.
Задайте указатель на объект для значений рабочей точки shift_logic график.
В командной строке введите:
blockpath = 'old_sf_car/shift_logic'; c = old_sf_car_ctx01.get(modelOperatingPoint, 'blockpath');
Совет
Если график кажется подсвеченным в окне модели, можно задать использование блока path gcb:
c = old_sf_car_ctx01.get(gcb);
Посмотрите на содержимое рабочей точки.
c =
Block: "shift_logic" (handle) (active)
Path: old_sf_car/shift_logic
Contains:
+ gear_state "State (AND)" (active)
+ selection_state "State (AND)" (active)
gear "Block output data" double [1, 1]
Рабочая точка вашего графика содержит список состояний и данных в иерархии.
Подсветите состояния, которые активны в вашем графике в t = 10.
В командной строке введите:
c.highlightActiveStates;
В графике все активные состояния кажутся подсвеченными.

Совет
Чтобы проверять, активно ли одно состояние, можно использовать isActive метод. Например, введите:
c.gear_state.fourth.isActive
Эта команда возвращает true (1), когда состояние активно и ложное (0) в противном случае. Для получения информации о других методах см. Методы для Взаимодействия с Рабочей точкой Графика.
Измените активное подсостояние selection_state к downshifting.
Используйте эту команду:
c.selection_state.downshifting.setActive;
Недавно активное подсостояние кажется подсвеченным в графике.

Измените значение выходных данных gear.
При вводе c.gear в командной строке вы видите список свойств данных, похожих на это:
>> c.gear
ans =
Description: 'Block output data'
DataType: 'double'
Size: '[1, 1]'
Range: [1x1 struct]
InitialValue: [1x0 double]
Value: 4
Можно изменить значение gear от 4 до 1 путем ввода
c.gear.Value = 1;
gear. Кроме того, вы не можете задать новое значение, которое выходит за пределы области значений, установленной параметрами Maximum и Minimum. Для получения дополнительной информации см. Правила для Изменения Значений данных.Сохраните модифицированную рабочую точку.
Используйте эту команду:
old_sf_car_ctx01 = old_sf_car_ctx01.set(blockpath, c);
Задайте новое время остановки для сегмента симуляции, чтобы протестировать.
В диалоговом окне Model Configuration Parameters перейдите к панели Solver.
Для Stop time введите 20.
Нажмите OK.
Вы не должны вводить новое время начала, потому что симуляция продолжается от того, где она кончила.
Запустите симуляцию.
Механизм реагирует можно следующим образом:
