Операционная точка - это снимок состояния модели 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).
Установите флажок Конечные состояния.
Введите имя, например old_sf_car_ctx01.
Установите флажок Сохранить конечную операционную точку.
Нажмите кнопку «Применить».
Определите время начала и окончания для этого сегмента моделирования.
В диалоговом окне Параметры конфигурации модели (Model Configuration Parameters) перейдите на панель Решатель (Solver).
В поле «Время начала» введите 0.
В поле «Время остановки» введите 10.
Нажмите кнопку ОК.
Начать моделирование.
При моделировании модели полная рабочая точка сохраняется в переменной при t = 10. old_sf_car_ctx01 в базовой рабочей области MATLAB.
При t = 10 двигатель работает при установившемся значении 2500 об/мин.

Отключить сохранение операционной точки.
Этот шаг не позволяет перезаписать операционную точку, сохраненную на предыдущем шаге.
Откройте диалоговое окно Параметры конфигурации модели (Model Configuration Parameters) и перейдите на панель Импорт/экспорт данных (Data Import/Export).
Снимите флажок Сохранить конечную операционную точку.
Снимите флажок Конечные состояния.
Нажмите кнопку ОК.
Включить загрузку операционной точки.
Откройте диалоговое окно Параметры конфигурации модели (Model Configuration Parameters) и перейдите на панель Импорт/экспорт данных (Data Import/Export).
Установите флажок Начальное состояние.
Введите переменную, содержащую операционную точку диаграммы: old_sf_car_ctx01.
Нажмите кнопку ОК.
Определение дескриптора объекта для значений рабочих точек 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).
В поле «Время остановки» введите 20.
Нажмите кнопку ОК.
Вводить новое время начала не требуется, поскольку моделирование продолжается с того момента, на котором оно было остановлено.
Начать моделирование.
Двигатель реагирует следующим образом:
