Шаги расчета блока 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 зависят от абсолютного времени, и поэтому устраняют модель, на которую ссылаются, от наследования шага расчета:
Backlash (только то, когда модель использует решатель переменного шага и блок, использует время непрерывной выборки),
Discrete-Time Integrator (только, когда используется в триггируемых подсистемах)
Sine Wave (только, когда параметром Sine type является Time-based
)
stateflow
(Stateflow) (когда график использует абсолютно-разовую временную логику или зарезервированное слово t
к ссылочному времени)
To Workspace (только при логгировании к Timeseries
или Structure With Time
формат
Некоторые блоки кроме блоков Simulink зависят от абсолютного времени. См. документацию для библиотек, которые вы используете.
Используя блок, выход которого зависит от наследованного шага расчета в модели, на которую ссылаются, может заставить симуляцию приводить к неожиданным или ошибочным результатам. При создавании модели, на которую ссылаются, для которой не нужны заданный уровень, Simulink Check для блоков, выходные параметры которых являются функциями наследованного шага расчета. Эта проверка включает исследование блоки S-Function. Если Simulink находит какие-либо такие блоки, он задает шаг расчета по умолчанию. Если вы установили Configuration Parameters> Solver> Periodic sample time constraint к Ensure sample time independent
, Simulink отображает ошибку. Смотрите Периодическое ограничение шага расчета для больше об этой опции.
Выходные параметры следующих встроенных блоков зависят от наследованного шага расчета. Выходные параметры этих блоков устраняют модель, на которую ссылаются, от наследования ее шага расчета от родительской модели:
From Workspace (если это имеет входные данные, который содержит время),
Probe (при зондировании шага расчета)
Simulink принимает, что выход S-функции не зависит от наследованного шага расчета, если S-функция явным образом не объявляет обратное. Смотрите Задают Шаги расчета S-функции для получения информации о том, как создать S-функции, которые объявляют, зависит ли их выход от их наследованного шага расчета.
В моделях, на которые ссылаются, которые наследовали их шаг расчета, избегайте S-функций в моделях, на которые ссылаются, которым не удается объявить, зависит ли выведенный от наследованного шага расчета. Исключая те виды S-функций помогает избежать ошибок симуляции. По умолчанию Simulink предупреждает вас, если ваша модель содержит такие блоки, когда вы обновляете или симулируете модель. Смотрите Незаданный inheritability шага расчета для деталей.
Используйте сопоставимые уровни шага расчета, чтобы способствовать надежному использованию модели, на которую ссылается другая модель. Сделайте уровни корневого Inport и блоков Outport в модели, на которую ссылаются, сопоставимыми с уровнями блоков, читающих из и пишущих в те блоки. Simulink генерирует ошибку, когда существуют несоответствия шага расчета между:
Шаги расчета корневого Inport блокируются и шаги расчета блоков, с которыми блок Inport вводит.
Шаги расчета корневого Outport блокируются и шаги расчета блоков, которые вводят с блоком Outport.
Чтобы исправить ошибку, которая отмечает несоответствие шага расчета в модели, на которую ссылаются, можно использовать один из этих подходов.
Inport верхнего уровня или шаг расчета блока Outport | Возможное решение |
---|---|
Отличающийся от всех блоков, до которых это соединяется, и те блоки, у всех есть тот же шаг расчета друг как друг | Установите шаг расчета блока Inport или Outport так, чтобы это совпадало с шагом расчета блока, с которым это соединяется. |
Отличающийся от одного или нескольких блоков и того же самого как один или несколько блоков | Для блоков, которые не совпадают с блоком Inport или Outport, вставьте блоки Rate Transition на сигнале, который соединяется с блоком Inport или Outport. |
Решатель топ-модели управляет всеми временами непрерывной выборки в иерархии модели. Например, для решателя фиксированного шага, всех непрерывных уровней в моделях, на которые ссылаются, запущенных в размере фиксированного шага топ-модели. Для получения информации о том, как шаги расчета влияют на решатели, видят Типы Шага расчета.