Когда вы работаете с Ножом Модели, рассматриваете эти поведения и ограничения:
Когда вы открываете менеджера по Срезу Модели, модель скомпилирована. Чтобы избежать ошибки компиляции, прежде чем вы откроете менеджера по Срезу Модели, убеждаются, что модель является компилируемой.
Когда подсветка среза активна, вы не можете отредактировать модель. Можно переключиться, чтобы смоделировать режим редактирования и сохранить подсветки. Когда вы переключаетесь назад на режим среза, настройка среза повторно вычисляется, и подсветка обновляется.
Нарезанная генерация модели требует одной или нескольких начальных точек для выделения вашей модели. Нарезанная генерация модели не поддержана для:
Распространение форварда (включая двунаправленный) зависимости
Ограничения
Точки исключения
Нарезанная генерация модели требует перезаписываемой рабочей папки в MATLAB®.
Когда вы генерируете нарезанную модель от подсветки модели, упрощение вашей модели может изменить поведение симуляции или препятствовать тому, чтобы нарезанная модель компилировала. Например:
Упрощение модели может изменить отсортированный порядок выполнения в нарезанной модели по сравнению с исходной моделью, которая может влиять на нарезанное поведение симуляции модели.
Если вы генерируете нарезанную модель, содержащую шину, но не исходный сигнал той шины, нарезанная модель может содержать неразрешенные элементы шины.
Если вы генерируете нарезанную модель, которая встраивает подмножество содержимого маскированного блока, убедитесь, что содержимое подсистемы решает к параметрам маски. Если содержимое и маска не решают, возможно, что нарезанная модель не компилирует.
Если исходная модель использует сигнал шины, гарантируйте, что нарезанные сигналы модели инициализируются правильно. Прежде чем вы создадите нарезанную модель, рассмотрите включая явную копию сигнала шины в исходной модели. Например, можно включать блок Signal Conversion с набором опции Output к Signal Copy
.
Для набора размеров шага решателя к auto
, Simulink® вычисляет максимальный временной шаг частично на основе блоков в модели. Если нарезанная модель удаляет блоки, которые влияют на определение временного шага, временной шаг нарезанной модели может отличаться от исходной модели. Различие во временном шаге может вызвать различия в симуляции. Считайте размеры шага установки явным образом к тем же значениям вычисленными в исходной модели.
Можно использовать блоки, которые Нож Модели удаляет во время упрощения модели, чтобы определить скомпилированные атрибуты, такие как наследованные шаги расчета, размерности сигнала и типы данных. Нож Модели может изменить нарезанные атрибуты порта модели во время упрощения модели, чтобы разрешить underspecified атрибуты порта модели. Если Нож Модели не может разрешить эти несоответствия, можно разрешить некоторые несоответствия атрибута порта модели:
Явным образом задающие атрибуты в исходной модели вместо того, чтобы использовать правила распространения.
Включая в нарезанной модели блоки, которые ответственны за распространение атрибута в вашей исходной модели. Прежде чем вы нарежете модель, добавьте эти блоки как дополнительные начальные точки в выделении исходной модели.
Не встраивая блоки модели, которые ответственны за атрибуты порта модели в нарезанную модель. Для получения дополнительной информации об элементах модели, которые можно встроить в нарезанную модель, см. Встроенные Опции Содержимого.
Из-за пути Simulink обрабатывает модели - ссылки, вы не можете одновременно скомпилировать две модели, что оба содержат модель - ссылку к той же модели. Когда вы генерируете нарезанную модель, Нож Модели переходит к режиму Slicer Locked (for attribute checking), если эти условия верны:
Родительская модель содержит модель, на которую ссылаются.
Подсвеченный фрагмент родительской модели содержит модель, на которую ссылаются.
Модель, на которую ссылаются, не встраивается в нарезанной модели из-за одного из следующих
Вы выбираете not to inline model blocks in the Inline content options pane of the Model Slicer options.
Нож Модели не может встроить модель, на которую ссылаются. Для получения дополнительной информации об элементах модели, которые не может встроить Нож Модели, см. Встроенные Опции Содержимого.
Чтобы продолжить совершенствовать подсвеченный фрагмент родительской модели, необходимо сначала активировать режим подсветки среза.
В зависимости от размера шага вашей модели и значений, которые вы вводите в течение времени начала и времени остановки окна времени симуляции, Нож Модели может изменить фактическое время начала симуляции и время остановки.
Если вы вводите время остановки или время начала, которое падает между временными шагами для вашего решателя модели, Нож Модели вместо этого использует время остановки или время начала, которое совпадает с временным шагом до значения, которое вы ввели. Для получения дополнительной информации о размерах шага в Simulink смотрите, Сравнивают Решатели (Simulink).
Время остановки для окна времени симуляции не может быть больше общего времени симуляции.
Когда вы нарезаете модель при помощи окна времени симуляции, некоторых блоков в исходной модели, таких как блоки switch, блоки логического оператора и другие, могут быть заменены при создании упрощенной автономной модели. Например, блок switch, который всегда передает вход того, удален, и активный вход непосредственно соединяется с выходным местом назначения. Неиспользованный входной сигнал также удален из автономной модели.
Эта таблица описывает блоки, которые Нож Модели может заменить во время упрощения модели.
Блокируйтесь в исходной модели | Упрощение |
---|---|
Переключатель Многопортовый переключатель | Если только один входной порт активен, переключатель заменяется сигналом, соединяющим активный вход с блоком выход. |
Enabled подсистема или модель | Если подсистема или модель всегда включаются, удалите вход управления и преобразуйте в стандартную подсистему или модель. Если подсистема никогда не включается, замените подсистему на постоянное значение, заданное начальным условием. |
Инициированная подсистема или модель | Если подсистема или модель всегда инициированы, удалите триггерный вход и преобразуйте в стандартную подсистему или модель. Если подсистема никогда не инициирована, замените подсистему на постоянное значение, заданное начальным условием. |
Enabled и Triggered подсистема или модель | Если подсистема всегда выполняется, преобразуйте в стандартную подсистему или модель Если подсистема никогда не выполняется, замените подсистему на постоянное значение, заданное начальным условием. |
Слияние | Если только один входной порт активен, слияние заменяется сигналом, соединяющим активный вход с блоком выход. |
Если Если действие | Если только одна подсистема действия активна, преобразуйте в стандартную подсистему или модель и удалите Если блок. |
Переключите случай Переключите действие случая | Если только одна подсистема действия активна, преобразуйте в стандартную подсистему или модель и удалите блок Switch Case. |
Логический оператор | Замените на константу когда блок всегда верные выходные параметры или всегда выходная ложь. Замените входной сигнал на константу, если входной сигнал является всегда верным или всегда ложным. |
Нож Модели не поддерживает эти элементы модели как начальные точки:
Виртуальные блоки, кроме подсистемы Inport и блоки Outport
Выходные сигналы виртуальных блоков, которые не являются подсистемами
Нож Модели не поддерживает эти функции:
Массивы шин
Анализ тестовых обвязок Simulink Test™
Модели, которые содержат Simscape™ физические блоки моделирования
Модели, которые содержат алгебраические циклы
Загружение начальных состояний от исходной модели для нарезанной генерации модели, таких как данные импортирует/экспортирует записи. Задайте начальные состояния явным образом для нарезанной модели в нарезанных параметрах конфигурации модели.
Разрезание компонента подсистем и моделей, на которые ссылаются, которые имеют несколько уровней.
Разрезание компонента Условных Моделей (Simulink) и Условно Выполняемые Подсистемы (Simulink).
При использовании Ножа Модели со Степпером Симуляции подсветка среза после того, как Шаг Назад не может быть ограничен одним шагом. Подсветка может быть под влиянием Симуляции, Продвигающейся Опции> Интервал между сохраненным крыльцом. Для получения дополнительной информации смотрите Интервал между сохраненным крыльцом (Simulink).
Таблица приводит ограничения поддержки Ножа Модели для блоков Simulink.
Блок | Ограничение |
---|---|
Блок For Each Subsystem | Удар симуляции проигнорирован для блоков в Для Каждой подсистемы. Поэтому применение окна времени симуляции возвращает тот же результат анализа зависимостей как анализ зависимостей, который не использует окно времени симуляции. |
Блок Function Caller | Нож модели не поддерживает блоки Function Caller. |
Блок MATLAB Function | Нож модели принимает, что любой выход зависит от всех входных параметров в восходящем направлении, и любой вход влияет на все выходные параметры в нисходящем направлении. |
Блок Merge | Если вы генерируете срез при помощи окна времени симуляции, блоки Merge удалены в автономной модели, если только один путь осуществлен. |
Блок Model | Нож модели не разрешает, что зависимости по данным, сгенерированные памятью хранилища глобальных данных в блоках Model с Simulation mode, устанавливают на Нож модели не поддерживает корневой уровень вызова функции блоки Inport. Для получения дополнительной информации см. Модели Экспорта функций (Simulink). Нож модели не анализирует содержимое в ссылке на Ссылку Защищенные Модели от Третьих лиц (Simulink). Когда вы нарезаете модель, которая содержит защищенную модель - ссылку, Нож Модели включает целую модель - ссылку в нарезанную модель. |
Блок Resettable Subsystem | Нож модели не поддерживает блоки Resettable Subsystem. |
Блок S-function | Нож модели принимает, что любой выход зависит от всех входных параметров в восходящем направлении, и любой вход влияет на все выходные параметры в нисходящем направлении. Нож модели не определяет зависимости, которые следуют из информации о модели доступа блока S-function, зависящей от окна времени симуляции. |
Блок State Read | Нож модели не поддерживает блоки State Read. |
Блок State Write | Нож модели не поддерживает блоки State Write. |
Когда вы подсвечиваете модели, содержащие график Stateflow® или таблицу изменения состояния, Нож Модели принимает, что любой выход от блока Chart или блока State Transition Table зависит от всех входных параметров с блоком Chart или блоком State Transition Table.
Когда вы нарезаете модель с диаграммой Stateflow или таблицу изменения состояния, Нож Модели не упрощает график или таблицу. График или таблица включены в целом в нарезанной модели.
Если вы не Задаете Окно Времени симуляции, когда вы подсвечиваете функциональные зависимости в диаграмме Stateflow или таблице изменения состояния, Нож Модели принимает, что все элементы графика или таблицы активны. Нож модели подсвечивает целое содержимое таких графиков и таблиц.
Когда вы подсвечиваете функциональные зависимости в диаграмме Stateflow или таблице изменения состояния для заданного окна времени симуляции, Нож Модели не подсвечивает только состояния и переходы, которые влияют на выбранную начальную точку. Вместо этого Нож Модели подсвечивает элементы, которые активны в окне времени, которое вы задаете.
Нож Модели не определяет зависимости между графическими функциями Stateflow и вызовами функции в других диаграммах Stateflow.
Графические функции и их содержимое, которое не было активно во время выбранного окна времени, могут потенциально остаться подсвеченными в некоторых случаях.
Запись в состояния, которые вытесняются из-за событий, может потенциально остаться подсвеченной в некоторых случаях. Например, после того, как родительское состояние вводится, действие события может выйти из состояния и вытеснить запись в дочернее состояние. В таком случае Нож Модели подсвечивает запись в дочернее состояние.
Нож Модели не поддерживает:
Блоки функции Embedded MATLAB
Функции Simulink
Блоки Truth Table
Порожденные машиной данные или события в Stateflow.
.
Как измерено 'Выполняемым' Decision Coverage Подсостояния, действие состояния относится к ним во время/выходить действий:
Запись в состояние не составляет действие.
Активный временной интервал для состояния или перехода включает момент, в который выбранные выходы состояния и последующее состояние вводится.
Косвенные выходы из состояния или перехода не составляют действие. Например, если C состояния выходит, потому что его родительское состояние выходы P, состояние C не рассматривается активным.
Для получения дополнительной информации о Decision Coverage для диаграмм Stateflow смотрите Decision Coverage для диаграмм Stateflow (Simulink Coverage).
Когда вы Подсвечиваете Активные Временные интервалы при помощи Основанного на действии Квантования времени, можно выбрать состояния и переходы только как ограничения действия. Вы не можете выбрать эти объекты Stateflow как ограничения:
Параллельные состояния
Переходы без условий, таких как непомеченные переходы, которые не получают Decision Coverage
Состояния или переходы в рамках соединенных библиотекой графиков
XOR утверждает без одноуровневых элементов. Например, если P состояния имеет только один дочерний элемент, утверждают C, вы не можете выбрать C состояния как действие ограничения, потому что P состояния не получает Decision Coverage для выполняемого подсостояния