Шаги расчета блока Model являются шагами расчета модели, на которую он ссылается. Если модель, на которую ссылаются, должна запуститься на определенных уровнях, модель задает необходимые уровни. В противном случае модель, на которую ссылаются, наследовала свой шаг расчета от родительской модели.
Помещать блок Model в инициированном, вызове функции или подсистеме итератора полагается на способность наследовать шаги расчета. Кроме того, разрешение блока Model наследовать шаг расчета максимизирует свой потенциал повторного использования. Например, модель может зафиксировать типы данных и размерности всех ее сигналов ввода и вывода. Вы могли снова использовать модель с различными шагами расчета (например, дискретный в 0,1 или дискретный в 0,2, инициированный).
Модель, на которую ссылаются, наследовала свой шаг расчета если модель:
Не имеет никаких непрерывных состояний
Задает решатель фиксированного шага, и Fixed-step size является auto
Не содержит блоков, которые задают шаги расчета (кроме наследованного или постоянного)
Не содержит S-функций, которые используют их определенный шаг расчета внутренне
Имеет только один шаг расчета (не считающий постоянный и инициированный шаг расчета) после распространения шага расчета
Не содержит блоков, включая графики Stateflow®, то использование абсолютное время, как перечислено в Блоках, Которые Зависят от Абсолютного Времени
Не содержит блоков, выходные параметры которых зависят от наследованного шага расчета, как перечислено в Блоках, Выходные параметры Которых Зависят от Наследованного Шага расчета.
Можно использовать модель, на которую ссылаются, которая наследовала ее шаг расчета где угодно в родительской модели. В отличие от этого, вы не можете использовать модель, на которую ссылаются, которая имеет внутренние шаги расчета в инициированном, вызове функции или подсистеме итератора. Чтобы избежать ошибок перехода уровня, гарантируйте, что блоки, соединенные с моделью, на которую ссылаются, с внутренними демонстрационными временами, действуют на тех же уровнях в качестве модели, на которую ссылаются.
Время непрерывной выборки не может быть распространено к блоку Model, который является независимым шагом расчета.
Для получения дополнительной информации смотрите Блоки, Выходные параметры Которых Зависят от Наследованного Шага расчета.
Чтобы определить, может ли модель, на которую ссылаются, наследовать свой шаг расчета, установите параметр конфигурации Periodic sample time constraint на Ensure sample time independent
. Если модель не может наследовать шаги расчета, эта установка заставляет Simulink® отображать сообщение об ошибке при создавании модели. Смотрите Периодическое ограничение шага расчета для больше об этой опции.
Определить внутренний шаг расчета модели, на которую ссылаются или самый быстрый внутренний шаг расчета для многоскоростных моделей, на которые ссылаются:
Обновите модель, это ссылается на модель
Выберите блок Model в родительской модели
Введите следующее в командной строке MATLAB®:
get_param(gcb, 'CompiledSampleTime')
Следующие блоки Simulink зависят от абсолютного времени, и поэтому устраняют модель, на которую ссылаются, от наследования шага расчета:
Обратная реакция (только то, когда модель использует решатель переменного шага и блок, использует время непрерывной выборки),
Интегратор дискретного времени (только, когда используется в инициированных подсистемах)
Синусоида (только, когда параметром Sine type является Time-based
),
stateflow
(когда график использует абсолютно-разовую временную логику или зарезервированное слово t
к ссылочному времени),
К Рабочей области (только при журналировании к Timeseries
или формату Structure With Time
)
Некоторые блоки кроме блоков Simulink зависят от абсолютного времени. См. документацию для blocksets, который вы используете.
Используя блок, вывод которого зависит от наследованного шага расчета в модели, на которую ссылаются, может заставить симуляцию приводить к неожиданным или ошибочным результатам. При создавании модели, на которую ссылаются, для которой не нужны заданный уровень, Simulink Check для блоков, выходные параметры которых являются функциями наследованного шага расчета. Эта проверка включает Блоки s-function исследования. Если Simulink находит какие-либо такие блоки, он задает шаг расчета по умолчанию. Если вы установили Configuration Parameters> Solver> Periodic sample time constraint к Ensure sample time independent
, Simulink отображает ошибку. Смотрите Периодическое ограничение шага расчета для больше об этой опции.
Выходные параметры следующих встроенных блоков зависят от наследованного шага расчета. Выходные параметры этих блоков устраняют модель, на которую ссылаются, от наследования ее шага расчета от родительской модели:
Из Рабочей области (если это имеет входные данные, который содержит время),
Зонд (при зондировании шага расчета)
Simulink принимает, что вывод S-функции не зависит от наследованного шага расчета, если S-функция явным образом не объявляет обратное. Смотрите Задают Шаги расчета S-функции для получения информации о том, как создать S-функции, которые объявляют, зависит ли их вывод от их наследованного шага расчета.
В моделях, на которые ссылаются, которые наследовали их шаг расчета, избегайте S-функций в моделях, на которые ссылаются, которым не удается объявить, зависит ли выведенный от наследованного шага расчета. Исключая те виды S-функций помогает избежать ошибок симуляции. По умолчанию Simulink предупреждает вас, если ваша модель содержит такие блоки, когда вы обновляете или моделируете модель. Смотрите Незаданный inheritability шага расчета для деталей.
Используйте сопоставимые уровни шага расчета, чтобы способствовать надежному использованию модели, на которую ссылается другая модель. Сделайте уровни корневых блоков Inport и Outport в модели, на которую ссылаются, сопоставимыми с уровнями блоков, читающих из и пишущих в те блоки. Simulink генерирует ошибку, когда существуют несоответствия шага расчета между:
Шаги расчета корневого Inport блокируются и шаги расчета блоков, к которым блок Inport вводит.
Шаги расчета корневого Выходного порта блокируются и шаги расчета блоков, которые вводят к блоку Outport.
Чтобы исправить ошибку, которая отмечает несоответствие шага расчета в модели, на которую ссылаются, можно использовать один из этих подходов.
Корневой Шаг расчета Блока Inport или Выходного порта Отличается От | Возможное решение |
---|---|
Все блоки, с которыми это соединяется, и те блоки, у всех есть тот же шаг расчета друг как друг | Установите шаг расчета блока Inport или Outport так, чтобы это совпадало с шагом расчета блока, с которым это соединяется. |
Один или несколько блоков и то же самое как один или несколько блоков | Для блоков, которые не совпадают с блоком Inport или Outport, вставьте блоки Перехода Уровня на сигнале, который соединяется с блоком Inport или Outport. |
Решатель самой важной модели управляет всеми временами непрерывной выборки в иерархии модели. Например, для решателя фиксированного шага, всех непрерывных уровней в моделях, на которые ссылаются, запущенных в размере фиксированного шага самой важной модели. Для получения информации о том, как шаги расчета влияют на решатели, видят Типы Шага расчета.