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

Информация о состоянии моделирования

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

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

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

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

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

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

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

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

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

Сравнение SimState и журналирования конечного состояния

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

Режим Simulation

Поддержки все режимы моделирования

Нормальный или акселератор.

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

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

Смотрите образцовую ссылку.

Возобновленное моделирование

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

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

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

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

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

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

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

Block вывод

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вы не можете ввести SimState к образцовой функции.

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

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

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

И для SimState и для журналирования конечного состояния, Simulink сохраняет информацию состояния в одной из этих точек:

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

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

Для получения дополнительной информации о SimState смотрите Ограничения SimState.

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

Если вы не используете SimState для того, чтобы сохранить информацию состояния, то используйте Параметры конфигурации> Импорт/Экспорт Данных> Формат, чтобы задать формат данных для сохраненной информации состояния.

Можно установить Формат на:

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

  • Массив

  • Структура

  • Structure with time

Опция Array для Параметров конфигурации> Импорт/Экспорт Данных> Параметр формата поддерживает совместимость с моделями, разработанными в более ранних релизах, когда Simulink поддержал только формат массивов для того, чтобы сохранить информацию состояния.

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

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

  • Режим моделирования

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

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

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

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

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

  • Формат Dataset:

    • Использование MATLAB® timeseries возражает, чтобы сохранить записанные данные. MATLAB объекты 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 содержит составной контур пути топ-модели и пути к эталонной модели. Путь топ-модели является путем от образцового корня до Блока модели, это ссылается на эталонную модель. Путь к эталонной модели является путем от корня эталонной модели до блока, состояние которого поле signals записывает. Составной контур использует | символ, чтобы разделить пути к эталонной модели и верхняя часть. Например:

>> xout.signals(1).blockName
ans =

sldemo_mdlref_basic/CounterA|sldemo_mdlref_counter/Previous Output

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

Классы

Похожие темы

Была ли эта тема полезной?