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

На схеме логики режимов отслеживается состояние исполнительных механизмов для двух лифтов. Каждый лифт имеет внешний (первичный) привод и внутренний (вторичный) привод. При нормальной работе внешние приводы активны, а внутренние находятся в резерве.

Когда четыре исполнительных механизма работают правильно, левый и правый лифты достигают стационарного положения за 3 секунды.

Предположим, что вы хотите увидеть, что происходит при t = 3, когда по крайней мере один исполнительный механизм выходит из строя. Можно смоделировать модель, сохранить рабочую точку при t = 3, загрузить и изменить рабочую точку, а затем снова смоделировать между t = 3 и 10.
| Шаг | Задача | Ссылка |
|---|---|---|
| 1 | Определите операционную точку для диаграммы. | Определение рабочей точки |
| 2 | Загрузите рабочую точку и измените значения для одного отказа привода. | Изменение значений рабочих точек для отказа одного привода |
| 3 | Проверьте измененную рабочую точку, запустив модель. | Проверка рабочей точки на наличие одной неисправности |
| 4 | Измените значения рабочих точек для двух отказов привода. | Изменение значений рабочих точек для двух отказов привода |
| 5 | Проверьте измененную рабочую точку, снова запустив модель. | Проверка рабочей точки на наличие двух отказов |
Откройте окно sf_aircraft модель.
Разрешить сохранение операционной точки.
Откройте диалоговое окно Параметры конфигурации модели (Model Configuration Parameters) и перейдите на панель Импорт/экспорт данных (Data Import/Export).
Установите флажок Конечные состояния.
Введите имя, например xFinal.
Установите флажок Сохранить конечную операционную точку.
Нажмите кнопку «Применить».
Определите время остановки для этого сегмента моделирования.
В диалоговом окне Параметры конфигурации модели (Model Configuration Parameters) перейдите на панель Решатель (Solver).
В поле «Время остановки» введите 3.
Нажмите кнопку ОК.
Начать моделирование.
При моделировании модели полная рабочая точка сохраняется в переменной при t = 3. xFinal в базовой рабочей области MATLAB.
Отключить сохранение операционной точки.
Этот шаг не позволяет перезаписать операционную точку, сохраненную на предыдущем шаге.
Откройте диалоговое окно Параметры конфигурации модели (Model Configuration Parameters) и перейдите на панель Импорт/экспорт данных (Data Import/Export).
Снимите флажок Сохранить конечную операционную точку.
Снимите флажок Конечные состояния.
Нажмите кнопку ОК.
Включить загрузку операционной точки.
Откройте диалоговое окно Параметры конфигурации модели (Model Configuration Parameters) и перейдите на панель Импорт/экспорт данных (Data Import/Export).
Установите флажок Начальное состояние.
Введите переменную, содержащую операционную точку диаграммы: xFinal.
Нажмите кнопку ОК.
Определите дескриптор объекта для значений рабочих точек логической диаграммы режима.
В командной строке введите:
blockpath = 'sf_aircraft/Mode Logic'; c = xFinal.get(blockpath);
Совет
Если диаграмма выделена в окне модели, путь к блоку можно указать с помощью gcb (Simulink):
c = xFinal.get(gcb);
Посмотрите на содержимое операционной точки.
c =
Block: "Mode Logic" (handle) (active)
Path: sf_aircraft/Mode Logic
Contains:
+ Actuators "State (OR)" (active)
+ LI_act "Function"
+ LO_act "Function"
+ L_switch "Function"
+ RI_act "Function"
+ RO_act "Function"
+ R_switch "Function"
+ LI_mode "State output data" sf_aircraft_ModeType [1,1]
+ LO_mode "State output data" sf_aircraft_ModeType [1,1]
+ RI_mode "State output data" sf_aircraft_ModeType [1,1]
+ RO_mode "State output data" sf_aircraft_ModeType [1,1]
Операционная точка диаграммы содержит список состояний, функций и данных в иерархическом порядке.
Выделите состояния, которые активны на диаграмме при t = 3.
В командной строке введите:
c.highlightActiveStates;
Активные состояния отображаются подсвеченными. По умолчанию два внешних привода активны, а два внутренних находятся в резерве.

Совет
Для проверки активности одного состояния можно использовать isActive способ. Например, введите:
c.Actuators.LI.L1.Standby.isActive
Эта команда возвращает true (1), если состояние активно, и false (0), в противном случае. Сведения о других методах см. в разделе Методы взаимодействия с операционной точкой диаграммы.
Измените активность состояния на диаграмме, чтобы отразить отказ одного привода.
Предположим, что отказал левый внешний (LO) привод. Чтобы изменить состояние, используйте следующую команду:
c.Actuators.LO.Isolated.setActive;
Новое активное подсостояние выделяется на диаграмме.

setActive обеспечивает выход диаграммы и ввод соответствующих состояний для поддержания согласованности состояний. Однако метод не выполняется entry действия для нового активного подсостояния. Аналогично, метод не выполняет exit действия для ранее активного подсостояния.
Сохраните измененную операционную точку с помощью следующей команды:
xFinal = xFinal.set(blockpath, c);
Определите новое время остановки для испытываемого сегмента моделирования.
Перейдите на панель Решатель (Solver) диалогового окна Параметры конфигурации модели (Model Configuration Parameters).
В поле «Время остановки» введите 10.
Нажмите кнопку ОК.
Вводить новое время начала не требуется, поскольку моделирование продолжается с того момента, на котором оно было остановлено.
Начать моделирование.
Анимация на диаграмме показывает, что три других исполнительных механизма соответствующим образом реагируют на отказ левого внешнего (LO) исполнительного механизма.

| Этот привод... | Переключается с... | Потому что... |
|---|---|---|
| Левая внутренняя (LI) | От резервного до активного | Левый лифт должен компенсировать отказ левого внешнего (LO) привода. |
| Правый внутренний (RI) | От резервного до активного | Одна и та же гидравлическая линия соединена с обоими внутренними исполнительными механизмами. |
| Правая внешняя (RO) | Активный в режим ожидания | Только один привод на лифт может быть активен. |
Оба лифта продолжают поддерживать устойчивые позиции.

Измените активность состояния на диаграмме, чтобы отразить два отказа привода.
Предположим, что также отказал левый внутренний привод (LI). Чтобы изменить состояние, используйте следующую команду:
c.Actuators.LI.Isolated.setActive;
Сохраните измененную операционную точку с помощью следующей команды:
xFinal = xFinal.set(blockpath, c);
В диалоговом окне Параметры конфигурации модели (Model Configuration Parameters) убедитесь, что время остановки равно 10.
Перезапустите моделирование.
Из-за отказов в обоих приводах левый лифт прекращает работу. Правый лифт поддерживает стационарное положение.

При изменении рабочей точки диаграммы для проверки реакции правого лифта на отказ привода получаются аналогичные результаты.