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

Эта модель моделируется в течение 30 секунд, но вы хотите увидеть, что происходит, когда значение gear изменения при t = 10. Можно симулировать модель, сохранить рабочую точку при t = 10, загрузить и изменить рабочую точку, а затем снова симулировать между t = 10 и 20.
| Шаг | Задача | Ссылка |
|---|---|---|
| 1 | Определите рабочую точку для графика. | Определите рабочую точку |
| 2 | Загрузите рабочую точку и измените значения. | Загрузка рабочей точки и изменение значений |
| 3 | Протестируйте измененную рабочую точку, запустив модель. | Тестируйте измененную рабочую точку |
Откройте модель old_sf_car.
Включите сохранение рабочей точки.
Откройте диалоговое окно Model Параметры Конфигурации и перейдите к панели 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 двигатель работает при установившемся значении 2500 об/мин.

Отключите сохранение рабочей точки.
Этот шаг препятствует перезаписи рабочей точки, сохраненной на предыдущем шаге.
Откройте диалоговое окно Model Параметры Конфигурации и перейдите к панели Data Import/Export.
Снимите флажок Save final operating point.
Снимите флажок Final states.
Нажмите OK.
Включите загрузку рабочей точки.
Откройте диалоговое окно Model Параметры Конфигурации и перейдите к панели 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');
Совет
Если график появляется подсвеченным в окне модели, можно задать путь блока используя gcb (Simulink):
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), когда состояние активно, и false (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. Кроме того, вы не можете задать новое значение, которое попадает за пределы области значений, заданных параметрами Minimum и Maximum. Для получения дополнительной информации смотрите Правила изменения значений данных.Сохраните измененную рабочую точку.
Используйте эту команду:
old_sf_car_ctx01 = old_sf_car_ctx01.set(blockpath, c);
Определите новое время остановки для тестируемого сегмента симуляции.
В диалоговом окне Model Configuration Parameters перейдите к панели Solver.
Для Stop time введите 20.
Нажмите OK.
Вы не должны вводить новое время запуска, потому что симуляция продолжается с того места, где оно остановилось.
Запустите симуляцию.
Двигатель реагирует следующим образом:
