exponenta event banner

Особенности и ограничения срезателя модели

При работе со срезом модели учитывайте следующие варианты поведения и ограничения.

Компиляция модели

При открытии Диспетчера фрагментов модели выполняется компиляция модели. Чтобы избежать ошибки компиляции, перед открытием Диспетчера фрагментов модели убедитесь, что модель является компилируемой.

Выделение модели и редактирование модели

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

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

Для создания модели с фрагментами требуется одна или несколько начальных точек для выделения модели. Создание разделенной модели не поддерживается для:

  • Передающие вперед (включая двунаправленные) зависимости

  • Ограничения

  • Точки исключения

Для создания модели с фрагментами требуется рабочая папка с возможностью записи в MATLAB ®.

Соображения по разделенной модели

При создании модели со срезом на основе выделения модели упрощение модели может изменить поведение моделирования или помешать компиляции модели со срезом. Например:

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

  • Если создается модель с фрагментами, содержащая шину, но не исходный сигнал этой шины, модель с фрагментами может содержать неразрешенные элементы шины.

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

  • Если исходная модель использует сигнал шины, убедитесь, что разделенные сигналы модели инициализированы правильно. Перед созданием модели с фрагментами рассмотрите возможность включения явной копии сигнала шины в исходную модель. Например, можно включить блок преобразования сигнала с параметром «Вывод», равным Signal Copy.

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

Рекомендации по атрибутам порта

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

  • Явное указание атрибутов в исходной модели вместо использования правил распространения.

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

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

Из-за того, как Simulink обрабатывает привязки модели, нельзя одновременно скомпилировать две модели, которые содержат ссылку на одну и ту же модель. При создании разрезанной модели срезатель модели переходит в режим Блокированный срез (для проверки атрибутов), если выполняются следующие условия:

  • Родительская модель содержит ссылочную модель.

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

  • Ссылочная модель не встроена в разрезанную модель из-за одного из следующих

    • На панели Параметры встроенного содержимого (Inline content options) окна Параметры среза модели (Model Slicer) можно не вставлять блоки модели.

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

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

Соображения по временному окну моделирования

В зависимости от размера шага модели и значений, вводимых для времени начала и времени окончания окна времени моделирования, модель Slicer может изменить фактическое время начала и время окончания моделирования.

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

  • Время остановки для временного окна моделирования не может превышать общее время моделирования.

Упрощение модели среза на основе моделирования

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

В этой таблице описаны блоки, которые может заменить срезатель модели при упрощении модели.

Блок в исходной моделиУпрощение

Выключатель

Мультипортовый коммутатор

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

Включенная подсистема или модель

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

Если подсистема не включена, замените подсистему постоянным значением, определенным начальным условием.

Запускаемая подсистема или модель

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

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

Включенная и запускаемая подсистема или модель

Если подсистема выполняется всегда, преобразуйте ее в стандартную подсистему или модель.

Если подсистема не выполняется, замените подсистему постоянным значением, определенным начальным условием.

Слияние

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

Если

Если действие

Если активна только одна подсистема операций, преобразуйте ее в стандартную подсистему или модель и удалите блок «Если».

Вариант переключения

Действие «Переключить обращение»

Если активна только одна подсистема действий, преобразуйте ее в стандартную подсистему или модель и удалите блок Switch Case.

Логический оператор

Замените на константу, если блок всегда выводит значение true или всегда выводит значение false.

Замените входной сигнал на константу, если он всегда имеет значение true или false.

Начальные точки не поддерживаются

Срезатель модели не поддерживает следующие элементы модели в качестве начальных точек:

  • Виртуальные блоки, отличные от блоков ввода и вывода подсистемы

  • Выходные сигналы от виртуальных блоков, не являющихся подсистемами

Ограничения поддержки модели Slicer для функций программного обеспечения Simulink

Модель Slicer не поддерживает следующие функции:

  • Массивы автобусов

  • Анализ тестовых жгутов Simulink Test™

  • Модели, содержащие Simscape™ физические блоки моделирования

  • Модели, содержащие алгебраические циклы

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

  • Секционирование компонентов подсистем и ссылочных моделей, имеющих несколько скоростей.

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

Ограничения поддержки срезов модели для степпера моделирования

При использовании модели среза со степпером моделирования выделение среза после шага назад не может быть ограничено одним шагом. На подсветку могут влиять Опции степпинга моделирования (Simulation Stepping Options) > Интервал между сохраненными задними шагами (Interval back steps). Дополнительные сведения см. в разделе Интервал между сохраненными шагами обратной связи.

Ограничения поддержки срезов модели для блоков Simulink

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

БлокОграничение

Для каждого блока подсистемы

Воздействие моделирования игнорируется для блоков в подсистеме «Для каждого». Поэтому применение временного окна моделирования возвращает тот же результат анализа зависимостей, что и анализ зависимостей, в котором не используется временное окно моделирования.

Функциональный блок вызывающего абонента

Модель Slicer не поддерживает блоки вызова функции.

Функциональный блок MATLAB

Модельный срез предполагает, что любой выход зависит от всех входов в восходящем направлении, а любой вход влияет на все выходы в нисходящем направлении.

Объединить блок

При создании фрагмента с использованием временного окна моделирования блоки объединения удаляются в автономной модели, если выполняется только один путь.

Блок модели

Модуль Model Slicer не разрешает зависимости данных, генерируемые глобальной памятью хранилища данных в блоках модели с режимом моделирования, равным Accelerator.

Модуль Model Slicer не поддерживает блоки ввода с корневым уровнем функции-вызова. Дополнительные сведения см. в разделе Экспорт функциональных моделей.

Модуль Model Slicer не анализирует содержимое ссылки на эталонные защищенные модели от третьих лиц. При разрезании модели, содержащей привязку защищенной модели, срезатель модели включает в нее всю привязку модели.

Сбрасываемый блок подсистемы

Модель Slicer не поддерживает блоки Resettable Subsystem.

S-функциональный блок

Модельный срез предполагает, что любой выход зависит от всех входов в восходящем направлении, а любой вход влияет на все выходы в нисходящем направлении.

Модуль Model Slicer не определяет зависимости, возникающие в результате доступа блока S-функций к информации модели в зависимости от временного окна моделирования.

Блок чтения состояния

Модель Slicer не поддерживает блоки чтения состояния.

Блок записи состояния

Модель Slicer не поддерживает блоки записи состояния.

Блок наблюдателейМодель Slicer не поддерживает блоки Observer.

Ограничения поддержки срезов модели для потока состояний

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

  • При срезании модели с помощью диаграммы Stateflow или таблицы перехода состояния срез модели не упрощает диаграмму или таблицу. Диаграмма или таблица полностью включена в разделенную модель.

  • Если при выделении функциональных зависимостей в таблице диаграммы или перехода состояния Stateflow не Определено временное окно моделирования (Define a Simulation Time Window), то модельный срез предполагает, что все элементы диаграммы или таблицы активны. Модель Slicer выделяет все содержимое таких диаграмм и таблиц.

  • При подсвечивании функциональных зависимостей в диаграмме или таблице переходов состояний Stateflow для определенного окна времени моделирования модуль Model Slicer не выделяет только состояния и переходы, влияющие на выбранную начальную точку. Вместо этого срезатель модели подсвечивает элементы, которые активны в указанном временном окне.

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

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

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

  • Срезатель модели не поддерживает:

    • Функциональные блоки MATLAB

    • Функции симулятора

    • Блоки таблицы истинности

    • Машинно-зависимые данные или события в Stateflow.

    .

Соображения по квантированию времени на основе активности для потока состояния

Как измеряется по охвату принятия решения «Выполненная подстанция», активность государства относится к этим действиям во время действий/выхода:

  • Вступление в государство не является деятельностью.

  • Активный временной интервал для состояния или перехода включает в себя момент, в который выходит выбранное состояние и вводится последующее состояние.

  • Косвенные выходы из состояния или перехода не являются деятельностью. Например, если состояние C выходит, поскольку его родительское состояние P выходит, состояние C не считается активным.

Дополнительные сведения о покрытии решений для диаграмм Stateflow см. в разделе Покрытие решений для диаграмм Stateflow (покрытие Simulink).

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

  • Параллельные состояния

  • Переходы без условий, такие как немеченые переходы, которые не получают покрытия принятия решений

  • Состояния или переходы в диаграммах, связанных с библиотекой

  • Состояние XOR без братьев и сестер. Например, если состояние P имеет только одно дочернее состояние C, вы не можете выбрать состояние C в качестве ограничений активности, поскольку состояние P не получает покрытие принятия решения для выполняемого подсостояния.

См. также

|