exponenta event banner

Сведения о состоянии

Сведения о состоянии моделирования

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

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

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

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

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

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

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

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

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

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

ОсобенностьКонечное состояниеКонечное состояние с операционной точкой

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

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

Обычный (Normal) или Ускоритель (Accelerator).

Ссылка на модель

Сведения о состоянии ссылочных моделей

См. раздел Привязка к модели.

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

Не поддерживается

Поддерживается.

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

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

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

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

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

Блочный выход

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ввод в model функция

Для ввода в функцию модели используйте Array формат с несложными данными типа double.

Вы не можете ввести ModelOperatingPoint функция «объект-модель».

Создание кода

Поддержанный

Не поддерживается.

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

  • На заключительном шаге времени

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

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

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

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

Для параметра Формат (Format) можно задать значение:

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

  • Array

  • Structure

  • Structure with time

По умолчанию параметр Format имеет значение Dataset. Dataset формат:

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

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

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

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

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

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

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

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

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

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

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

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

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

Сведения о состоянии ссылочных моделей

Когда Simulink сохраняет состояния в формате структуры или структуры с временем, он добавляет inReferencedModel к подполю signals поле структуры. Значение этого дополнительного подполя равно true (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

См. также

Классы

Связанные темы