Информация состояния

Информация о состоянии симуляции

Некоторые блоки обеспечивают информацию состояния, которую они используют в процессе моделирования. Например, информацией состояния для блока Unit Delay является значение выходного сигнала от предыдущего шага симуляции. Блок использует информацию состояния, чтобы вычислить выходное значение для текущего шага симуляции.

Некоторые примеры того, как сохраненная информация состояния используется, включают:

  • Остановка симуляции для модели и использование сохраненной информации состояния, как введено, когда вы перезапускаете симуляцию.

  • Симуляция одной модели и использование сохраненной информации состояния, как введено для симуляции другой модели, которая основывается на результатах первой модели.

  • Исследование изменений в информации состояния в течение симуляции.

Типы информации состояния

Можно сохранить эти виды информации состояния.

Тип информации состоянияОписаниеПараметры конфигурации в панели импорта/Экспорта данных
Состояния для каждого шага симуляцииИнформация состояния блоков (называемый частичными данными состояния) на каждом временном шаге симуляцииStates
Конечное состояниеИнформация состояния блоков в конце симуляцииFinal states
Конечное состояние с ModelOperatingPointКонечное состояние с ModelOperatingPoint возразите, что получает дополнительную внутреннюю информацию что Simulink® использование в процессе моделированияFinal States и Save final operating point

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

Сравнение рабочей точки и логгирования конечного состояния

ХарактеристикаКонечное состояниеКонечное состояние с рабочей точкой

Режим Simulation

Поддержки все режимы симуляции

Поддержки все режимы симуляции

Модель - ссылка

Информация состояния для моделей, на которые ссылаются,

Смотрите ссылку модели.

Возобновленная симуляция

Не поддерживаемый

Поддерживаемый.

Сохраненные данные состояния

Только регистрируемые состояния — непрерывные и дискретные состояния блоков — которые являются подмножеством полного состояния симуляции модели

Пользовательские данные, параметры периода выполнения или журналы модели, не сохраненной

Полная информация состояния.

Не сохраняет пользовательские данные, параметры периода выполнения или журналы модели.

Block выход

Пользовательские данные, параметры периода выполнения или журналы модели, не сохраненной

Simulink пытается сохранить выход блока как часть ModelOperatingPoint возразите, объявляют ли S-функции что никакой ModelOperatingPoint объекты существуют в блоке. Если блок выход имеет пользовательский тип, Simulink отображает ошибку.

Удобочитаемость

Используйте структуру с форматом времени для лучшей удобочитаемости

Чтобы исследовать упрощенное представление данных, рассмотрите использование loggedStates свойство Simulink.op.ModelOperatingPoint класс.

Восстановление данных состояния

Может сохранить и восстановить в различных режимах симуляции. Если регистрируемая информация состояния не достаточна, можно получить различные результаты в режиме normal mode и режиме Accelerator.

Не может сохранить в режиме normal mode и восстановлении в режиме Accelerator, или с другой стороны сохранить в режиме Accelerator и восстановлении в режиме normal mode.

Восстановление нескольких состояний

Можно инициализировать только один из нескольких регистрируемых состояний в модели.

Вы восстанавливаете все состояния в модели. Вы не можете загрузить подмножество состояний.

Структурные изменения

Можно внести структурные изменения между симуляцией и восстановлением симуляции.

Вы не можете внести структурные изменения в модель между тем, когда вы сохраняете ModelOperatingPoint возразите и когда вы восстановите симуляцию с помощью ModelOperatingPoint объект. Например, вы не можете добавить или удалить блок после сохранения ModelOperatingPoint объект, не повторяя симуляцию и сохраняя новый ModelOperatingPoint объект.

Введите к model функция

Чтобы ввести к функции модели, используйте Array формат с некомплексными данными типа double.

Вы не можете ввести ModelOperatingPoint возразите, чтобы смоделировать функцию.

Генерация кода

Поддерживаемый

Не поддерживаемый.

Для обоих ModelOperatingPoint и логгирование конечного состояния, Simulink сохраняет информацию состояния в одной из этих точек:

  • На итоговом временном шаге

  • Во время выполнения, в который симуляция, приостановленная или остановленная

Для получения дополнительной информации о ModelOperatingPoint, смотрите Ограничения Сохранения и Восстановления Рабочей точки.

Формат для получения информации состояния, сохраненной без рабочей точки

Если вы не используете ModelOperatingPoint для сохранения информации состояния затем используйте Configuration Parameters> Data Import/Export> Format, чтобы задать формат данных для сохраненной информации состояния.

Можно установить Format на:

  • Dataset (значение по умолчанию)

  • Array

  • Structure

  • Structure with time

Настройкой по умолчанию для параметра Format является Dataset. Dataset формат:

  • Записанные данные хранилищ в timeseries или timetable объекты. Можно работать с данными, сохраненными в timeseries или timetable объект в MATLAB® без лицензии Simulink.

  • Поддержки, регистрирующие несколько значений данных для данного временного шага, который может требоваться для регистрации данных в For Iterator Subsystem, While Iterator Subsystem и Stateflow®.

  • Не поддерживает состояния логгирования в подсистеме вызова функций или во время быстрых симуляций акселератора.

  • Не поддерживает генерацию кода.

Сигнал, регистрирующий всегда, использует Dataset формат. Логгирование данных о состояниях с помощью Dataset формат позволяет вам постобрабатывать данные моделирования, не пишущий пользовательский код для различных типов записанных данных. Когда вы регистрируете состояния с помощью Dataset формат, данные также автоматически потоки Инспектору Данных моделирования в процессе моделирования.

Array опция для параметра Format существует для обратной совместимости с моделями, разработанными в более ранних релизах, когда Simulink поддержал только Array формат для логгирования информации состояния. Порядок сигналов в массиве зависит от блока отсортированный порядок, который может измениться от одной симуляции до другого, когда вы изменяете любое следующее:

  • Модель (даже, не изменяя сигнал)

  • Режим симуляции

  • Режим генерации кода

Изменение порядка сигнала может представить собой проблемы когда последующая обработка записанные данные.

Structure и Structure with time форматы полезны при использовании информации состояния, чтобы инициализировать модель для симуляции, позволяя вам:

  • Объединенные значения начального состояния непосредственно с полным путем называют к состояниям. Эта ассоциация устраняет ошибки, которые могут произойти, если Simulink переупорядочивает состояния, но порядок массива начального состояния не изменяется соответственно.

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

  • Инициализируйте только подмножество состояний.

Информация состояния для моделей, на которые ссылаются,

Когда 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

Смотрите также

Классы

Похожие темы