Некоторые блоки обеспечивают информацию состояния, которую они используют в процессе моделирования. Например, информацией состояния для блока a Unit Delay является значение выходного сигнала от предыдущего шага симуляции. Блок использует информацию состояния в вычислении значения выходного сигнала для текущего шага симуляции.
Некоторые примеры использования сохраненной информации состояния включают:
Остановка симуляции для модели и использование сохраненной информации состояния, как введено, когда вы перезапускаете симуляцию.
Симуляция одной модели и использование сохраненной информации состояния, как введено для симуляции другой модели, которая основывается на результатах первой модели.
Исследование изменений в информации состояния в течение симуляции.
Можно сохранить эти виды информации состояния.
Тип информации состояния | Описание | Параметры конфигурации в панели импорта/Экспорта данных |
---|---|---|
Состояния для каждого шага симуляции | Информация состояния блоков (называемый частичными данными состояния) на каждом временном шаге симуляции | States |
Конечное состояние | Информация состояния блоков в конце симуляции | Final states |
Конечное состояние с ModelOperatinPoint | Конечное состояние с ModelOperatinPoint возразите, что получает дополнительную внутреннюю информацию, которую Simulink® использует в процессе моделирования | Final States и Save final operating point |
ModelOperatinPoint
предоставляет больше полной итоговой информации о состоянии симуляции, чем информация о конечных состояниях отдельно делает. Однако, если требования и ограничения использования ModelOperatinPoint
не удовлетворяйте свои требования моделирования, сохраняйте информацию конечного состояния без ModelOperatinPoint
.
Характеристика | Конечное состояние | Конечное состояние с рабочей точкой |
---|---|---|
Режим Simulation | Поддержки все режимы симуляции | Нормальный или акселератор. |
Модель - ссылка | Смотрите ссылку модели. | |
Возобновленная симуляция | Не поддерживаемый | Поддерживаемый. |
Сохраненные данные состояния | Только регистрируемые состояния — непрерывные и дискретные состояния блоков — которые являются подмножеством полного состояния симуляции модели Пользовательские данные, параметры периода выполнения или журналы модели, не сохраненной | Полная информация состояния Не сохраняет пользовательские данные, параметры периода выполнения или журналы модели. |
Block выход | Пользовательские данные, параметры периода выполнения или журналы модели, не сохраненной | Simulink пытается сохранить выход блока как часть |
Удобочитаемость | Используйте структуру с форматом времени для лучшей удобочитаемости | Чтобы исследовать упрощенное представление данных, рассмотрите использование рассмотрения |
Восстановление данных состояния | Может сохранить и восстановить в различных режимах симуляции. Если регистрируемая информация состояния не достаточна, можно получить различные результаты в двух режимах симуляции. | Не может сохранить в режиме normal mode и восстановлении в Акселераторе, или с другой стороны сохранить в режиме Accelerator и восстановлении в режиме normal mode. |
Восстановление нескольких состояний | Можно инициализировать только один из нескольких регистрируемых состояний в модели. | Вы восстанавливаете все состояния в модели. Вы не можете загрузить подмножество состояний. |
Структурные изменения | Можно внести структурные изменения между симуляцией и восстановлением симуляции. | Вы не можете внести структурные изменения в модель между тем, когда вы сохраняете |
Введите к | Чтобы ввести к функции модели, используйте | Вы не можете ввести |
Генерация кода | Поддерживаемый | Не поддерживаемый |
Для обоих ModelOperatingPoint
и логгирование конечного состояния, Simulink сохраняет информацию состояния в одной из этих точек:
На итоговом временном шаге
Во время выполнения, в который симуляция, приостановленная или остановленная
Для получения дополнительной информации о ModelOperatingPoint
, смотрите Ограничения Сохранения и Восстановления Рабочей точки.
Если вы не используете ModelOperatingPoint
для сохранения информации состояния затем используйте Configuration Parameters> Data Import/Export> Format, чтобы задать формат данных для сохраненной информации состояния.
Можно установить Format на:
Dataset
(значение по умолчанию)
Array
Structure
Structure with time
Array
опция для Configuration Parameters> Data Import/Export> опция Format поддерживает совместимость с моделями, разработанными в более ранних релизах, когда Simulink поддержал только формат массивов для сохранения информации состояния.
Формат массивов отражает порядок сигналов. Порядок сохраненной информации состояния может измениться между симуляциями, когда вы изменяете любое следующее:
Модель (даже, не изменяя сигнал)
Режим симуляции
Режим генерации кода
Structure
и Structure with time
форматы легче считать и сопоставимый через симуляции. Кроме того, эти два формата полезны при использовании информации состояния, чтобы инициализировать модель для симуляции, позволяя вам:
Объединенные значения начального состояния непосредственно с полным путем называют к состояниям. Эта ассоциация устраняет ошибки, которые могут произойти, если Simulink переупорядочивает состояния, но порядок массива начального состояния не изменяется соответственно.
Присвойте другой тип данных начальному значению каждого состояния.
Инициализируйте только подмножество состояний.
Dataset
формат:
Использование MATLAB®
объекты сохранить записанные данные. MATLAB timeseries
timeseries
объекты позволяют вам работать с записанными данными в MATLAB без лицензии Simulink.
Поддержки, регистрирующие несколько значений данных для данного временного шага, который может быть важен для подсистемы Итератора и логгирования сигнала Stateflow®
Не поддерживает регистрирующие невиртуальные данные о шине для генерации кода или быстрого режима Accelerator.
Когда Simulink сохраняет состояния в структуре или формате структуры-с-разовым, это добавляет inReferencedModel
подполе к signals
поле структуры. Значение этого дополнительного подполя верно (1
) если signals
поле записывает конечное состояние блока, который находится в модели, на которую ссылаются. Например:
xout.signals(1)
ans = values: [101x1 double] dimensions: 1 label: 'DSTATE' blockName: [1x66 char] inReferencedModel: 1
Если поле сигналов записывает состояние модели, на которое ссылаются, его blockName
подполе содержит составной контур пути топ-модели и модели path, на которую ссылаются. Путь топ-модели является путем от корня модели до блока Model, который ссылается на модель, на которую ссылаются. Модель path, на которую ссылаются, является путем от корня модели, на который ссылаются, до блока чье состояние signals
полевые записи. Составной контур использует | символ, чтобы разделить главное и сослался на пути модели. Например:
>> xout.signals(1).blockName
ans = sldemo_mdlref_basic/CounterA|sldemo_mdlref_counter/Previous Output