Ссылочные Шаги расчета модели

Как Шаг расчета наследование Работ для Блоков Model

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

Размещение блока Model в триггерированном вызове функции или подсистеме итератора зависит от возможности наследования шагов расчета. Кроме того, разрешение блоку Model наследовать шаг расчета максимизирует свой потенциал повторного использования. Для примера модель может фиксировать типы данных и размерности всех своих входов и выходных сигналов. Можно повторно использовать модель с различными шагами расчета (для примера, дискретно в 0,1 или дискретно в 0,2, срабатывает).

Условия наследования шагов расчета

Модель-ссылка наследует свой шаг расчета, если модель:

  • Не имеет никаких непрерывных состояний

  • Задает решатель с фиксированным шагом, и Fixed-step size auto

  • Не содержит блоков, которые задают шаги расчета (кроме унаследованных или постоянных)

  • Не содержит никаких S-функций, которые используют свой определенный шаг расчета внутренне

  • Имеет только один шаг расчета (не считая константы и триггерированный шаг расчета) после распространения шага расчета

  • Не содержит никаких блоков, включая Stateflow® графики, которые используют абсолютное время, как указано в Блоках, которые зависят от абсолютного времени

  • Не содержит никаких блоков, выходы которых зависят от наследуемого шага расчета, как указано в разделе Блоки, выходы которых зависят от наследуемого шага расчета.

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

Примечание

Непрерывное время расчета не может быть распространено на блок Model, который является независимым от шага расчета.

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

Определение шага расчета ссылочной Модели

Чтобы определить, может ли модель-ссылка наследовать свое время расчета, установите параметр конфигурации Periodic sample time constraint равным Ensure sample time independent. Если модель не может наследовать шаги расчета, этот параметр вызывает Simulink® отображение сообщения об ошибке при построении модели. Дополнительные сведения об этой опции см. в разделе Периодический шаг расчета ограничений.

Чтобы определить внутренний шаг расчета модели-ссылки или самый быстрый внутренний шаг расчета для моделей с несколькими ссылками:

  1. Обновите модель, которая ссылается на модель

  2. Выберите Model блок в родительской модели

  3. Введите следующее в MATLAB® командная строка:

    get_param(gcb, 'CompiledSampleTime')

Блоки, которые зависят от абсолютного времени

Следующие блоки Simulink зависят от абсолютного времени и, следовательно, препятствуют наследованию модели-ссылки шага расчета:

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

Блоки, выходы которых зависят от наследованного шага расчета

Использование блока, выход которого зависит от наследуемого шага расчета в модели-ссылке, может привести к тому, что симуляция даст неожиданные или ошибочные результаты. При построении модели-ссылки, которая не нуждается в заданной скорости, Simulink проверяет блоки, выходные параметры которых являются функциями унаследованного времени расчета. Эта проверка включает исследование блоков S-Function. Если Simulink находит какие-либо такие блоки, он задает шаг расчета по умолчанию. Если Вы установили Configuration Parameters> Solver> Periodic sample time constraint к Ensure sample time independentSimulink отображает ошибку. Дополнительные сведения об этой опции см. в разделе Периодический шаг расчета ограничений.

Выходные выходы следующих встроенных блоков зависят от наследуемого шага расчета. Выходы этих блоков препятствуют наследованию модели-ссылки шага расчета от родительской модели:

Simulink принимает, что выход S-функции не зависит от наследуемого шага расчета, если S-функция явно не объявляет обратное. Смотрите Specify S-Function Шаги расчета для получения информации о том, как создать S-функции, которые объявляют, зависит ли их выход от унаследованного шага расчета.

В ссылочных моделях, которые наследуют их шаг расчета, избегайте S-функций в ссылочных моделях, которые не могут объявить, зависит ли вывод от унаследованного шага расчета. Исключение этих видов S-функций помогает избежать ошибок симуляции. По умолчанию Simulink предупреждает вас, содержит ли ваша модель такие блоки, когда вы обновляете или симулируете модель. Смотрите Unspecified inheritability of шаг расчета для получения дополнительной информации.

Согласованность шагов расчета

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

  • Шаги расчета корневых блоков Inport и шагов расчета блоков, к которым Inport блок входов.

  • Шаги расчета корневых блоков Outport и шагов расчета блоков, которые вводятся в блок Outport.

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

Inport верхнего уровня или Outport Шага расчета блоковВозможное решение

Отличный от всех блоков, с которыми он соединяется, и все эти блоки имеют тот же шаг расчета, что и друг друга

Установите шаг расчета Inport или Outport блока так, чтобы оно совпадало со шагом расчета блока, с которым оно соединяется.

Отличается от одного или нескольких блоков и то же, что и один или несколько блоков

Для блоков, которые не совпадают с блоком Inport или Outport, вставьте Rate Transition блоки на сигнал, который соединяется с блоком Inport или Outport.

Частоты дискретизации и решатели

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

Похожие примеры

Подробнее о