Узнайте, как можно использовать рабочую точку с блоком, S-функциями и изменениями модели.
Использование loggedStates
чтобы получить или задать состояния блоков. Если xout
является журналом состояний, который Simulink® экспортирует в рабочую область, затем loggedStates
поле имеет ту же структуру, что и xout.signals
.
Невозможно изменить состояния, которые не регистрируются. Simulink не позволяет это изменение, так как это может привести к несоответствию состояния симуляции.
Можно использовать API для C-MEX и Level-2 MATLAB® S-функции, позволяющие S-функциям работать со ModelOperatingPoint
объект. Для получения информации о том, как реализовать эти API в S-функциях, смотрите Податливость S-функций с ModelOperatingPoint.
S-функции, которые имеют векторы PWork, которые хранят указатели на структуры данных, но не объявляют их уровень податливости рабочей точке или объявляют его неизвестным или запрещенным, не поддерживают рабочую точку. Для получения дополнительной информации смотрите Податливость S-Function с ModelOperatingPoint.
После сохранения рабочей точки модели можно изменить модель и восстановить рабочую точку с этими изменениями.
Можно переименовать модель между сохранением и восстановлением ее рабочей точки.
Контрольная сумма интерфейса рабочей точки в основном основана на настройках строения в модели и шагах расчета, используемых в модели. Можно внести некоторые неструктурные изменения в модель между сохранением и восстановлением рабочей точки. В диалоговом окне Параметров конфигурации, на панели Diagnostics , используйте диагностику Operating point interface checksum mismatch, чтобы отслеживать такие изменения. Затем можно узнать, соответствует ли контрольная сумма интерфейса восстановленной рабочей точки текущей контрольной сумме интерфейса. См. «Несоответствие контрольной суммы интерфейса рабочей точки».
Можно внести следующие неструктурные изменения в модель, не влияя на вашу способность восстановить ранее сохраненную рабочую точку:
Изменения настроек логгирования сигналов уровня модели в параметрах конфигурации модели: Импорт/экспорт данных.
Логгирование конкретных сигналов.
Сложение и удаление Scope, Floating Scope and Scope Viewer, To Workspace, To File и блоков Display.
Сложение и удаление Level-2 MATLAB или C S-Functions, которые сконфигурированы как устройства просмотра симуляции и не устанавливают податливость рабочей точки Пользовательским или Запрещенным. Смотрите Податливость to the ModelOperatingPoint для получения дополнительной информации.
Примечание
Эти изменения могут изменить количество шагов расчета в модели. Это может привести к тому, что контрольная сумма интерфейса модели будет отличаться от рабочей точки, сохраняющей и восстанавливающей контрольную сумму. Сконфигурируйте Operating point interface checksum mismatch diagnostic для отображения warning
(по умолчанию), error
, или none
не сравнивать контрольные суммы.
Вы не можете вносить структурные изменения в модель между временем сохранения рабочей точки и временем восстановления симуляции с помощью рабочей точки. Примеры включают, добавление или удаление блока после сохранения рабочей точки, изменение шага расчета модели и изменение типа решателя с переменного шага на фиксированный шаг.
Несоответствия могут возникнуть, когда вы пытаетесь симулировать с помощью решателя, который отличается от того, который сгенерировал сохраненную рабочую точку. Simulink позволяет изменять решатель. Для примера можно использовать ode15s
решатель, чтобы решить начальный жёсткий фрагмент симуляции и сохранить конечную рабочую точку. Затем можно продолжить симуляцию с восстановленной рабочей точкой, используя ode45
. Другими словами, эта диагностика помогает вам увидеть изменения решателя, но не сигнализирует о проблеме с симуляцией.
Примечание
Когда вы используете решатель с переменным шагом с максимальным размером шага, установленным на auto
Simulink использует максимальный размер шага от восстановленного ModelOperatingPoint
объект для новой симуляции. Чтобы убедиться, что объединенная траектория рабочей точки двух симуляций совпадает с траекторией непрерывной симуляции, задайте значение для максимального размера шага.
Примечание
В некоторых случаях сохранение информации о частичном состоянии избегает некоторых ограничений использования рабочей точки. Сравнение двух способов сохранения данных о состоянии смотрите в Сравнение Рабочей точки и Окончательное логгирование состояния.
Следующие блоки не поддерживают рабочую точку:
В блоках Stack и Queue настройкой по умолчанию для опции Push full stack является Dynamic reallocation. Этот параметр по умолчанию не поддерживает ModelOperatingPoint
объект. Другие настройки (Ignore, Warning и Error) поддерживают ModelOperatingPoint
объект.
Simscape™ Multibody™ блоки Первой генерации
Simulink пытается сохранить выход блока как часть рабочей точки. Для S-функций это происходит, даже если функции заявляют, что никакая рабочая точка не требуется. Если выход блока имеет пользовательский тип, Simulink не может сохранить рабочую точку и отображает ошибку. Для получения дополнительной информации об использовании рабочей точки с S-функциями, см. S-Functions.
Модель-ссылка предлагает частичную поддержку рабочей точки. Для получения дополнительной информации смотрите Модели-ссылки.
Можно использовать только режим симуляции normal или Accelerator.
Вы не можете сохранить рабочую точку в режиме normal mode и восстановить ее в режиме Accelerator, или наоборот.
Вы не можете изменить состояния определенных блоков, которые не записаны в журнал. Для получения дополнительной информации смотрите Изменение состояний блока в рабочей точке.
Функция рабочей точки не поддерживает Simulink Coder™ или Embedded Coder® генерация кода.
Вы не можете изменять записанные состояния блоков, которые находятся внутри ссылочной модели в режиме Accelerator.
Следующие блоки не поддерживают рабочую точку, когда включены в модель, на которую ссылаются в режиме Accelerator:
MATLAB уровня 2 S-Function
Система MATLAB
Интерполяционная таблица n-D
S-функция (с пользовательской рабочей точкой или PWork
векторы)
К файлу
Блоки Simscape
Для получения дополнительной информации смотрите Сведения о состоянии для ссылочных моделей.
Вы не можете ввести рабочую точку в model
функция.