Блоки, для которых Шаг расчета не рекомендуется

Некоторые блоки не позволяют вам задать параметр Sample Time по умолчанию. Однако можно увидеть и задать параметр Sample Time для этих блоков в существующей модели, если шаг расчета установлен на значение, отличное от значения по умолчанию -1 (унаследованный шаг расчета). Параметр Sample Time недоступен для определенных блоков, потому что задает шаг расчета, которое не -1 на блоках, таких как Gain, Sum и n-D Lookup Table, приводит к неявному смешению перехода скорости дискретизации с алгоритмами блоков. Это смешение часто может привести к неоднозначности и путанице в Simulink® модели.

В большинстве приложений моделирования вы задаете скорости для модели на контуре вашей системы, а не на блоке в подсистеме. Вы задаете системную скорость из входящих сигналов или скорость дискретизации выхода. Можно также определить скорости для событий, которые вы моделируете, которые вводят подсистему как триггер, вызов функции или включает/отключает сигналы. Некоторым глобальным переменным (таким как блоки памяти хранилища данных) может потребоваться дополнительная спецификация шага расчета. Если вы хотите изменить скорость внутри системы, используйте блок Rate Transition, который специально разработан для моделирования переходов скорости.

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

Лучшая практика для моделирования шагов расчета

Используйте эти подходы вместо установки параметра Sample Time в блоках, где это не подходит:

  • Скорректируйте модель, задав Sample Time только в блоках, перечисленных в Соответствующих Блоках для Параметра Шага расчета, и установите Sample Time равным -1 для всех других блоков. Чтобы изменить шаг расчета для нескольких блоков одновременно, используйте Model Explorer. Для получения дополнительной информации см. раздел Model Explorer.

  • Используйте блок Rate Transition, чтобы смоделировать переходы скорости в вашей модели.

  • Используйте блок Signal Specification, чтобы задать шаг расчета в моделях, которые не имеют исходных блоков, такие как алгебраические циклы.

  • Задайте скорость симуляции независимо от шагов расчета блока, используя диалоговое окно Параметр модели (Model Parameter).

После завершения этих изменений проверьте, дает ли ваша модель те же выходы, что и ранее.

Соответствующие блоки для параметра Шага расчета

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

  • Блоки в библиотеке Sources

  • Блоки в библиотеке Раковин

  • Триггерные порты (если Trigger type установлено на function-call) и Включить порты

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

  • Блок Перехода Скорости

  • Блок Спецификация

  • Блоки в дискретной библиотеке

  • Блок получения сообщений

  • Блок вызывающего абонента функции

Задайте шаг расчета в блоках, где скрыто

Можно задать шаг расчета в блоках, которые не отображают параметр в диалоговом окне блока. Если вы задаете значение кроме -1 в этих блоках не происходит никакой ошибки, когда вы моделируете модель. Однако в диалоговом окне блока появляется сообщение, в котором рекомендуется задать этот параметр равным -1 (унаследованный шаг расчета). Если вы продвигаете шаг расчета параметров блоков в маску, этот параметр всегда отображается в диалоговом окне маски.

Чтобы изменить шаг расчета в этом случае, используйте set_param команда. Например, выберите блок в редакторе Simulink и в командной строке введите:

set_param(gcb,'SampleTime','2');

См. также

| | |