Правильные шины, используемые в качестве векторов

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

  • Улучшает обработку цикла

  • Способствует сопоставимому редактированию и поведению времени компиляции

Правильные шины Используя Model Advisor

При исправлении шин, используемых в качестве векторов, Model Advisor обычно обеспечивает самый эффективный подход.

  1. На вкладке Modeling нажмите Model Advisor.

  2. Выберите топ-модель, затем нажмите OK.

  3. Выберите By Task> Modeling Signals and Parameters using Buses> Check bus signals treated as vectors.

  4. Нажмите кнопку Run This Check.

    Model Advisor сообщает о любых случаях шин, обработанных как векторы.

  5. Следуйте за предложениями Model Advisor для исправления ошибок, о которых сообщает проверка.

Для получения дополнительной информации об использовании Model Advisor смотрите Проверку Ваша Модель Используя Model Advisor.

Добавьте шину в векторные блоки

Чтобы явным образом преобразовать шину в вектор, добавьте блоки Bus to Vector с помощью одного из этих подходов:

  • Вставьте блок Bus to Vector в шины, обработанные как векторы.

  • Используйте Simulink.BlockDiagram.addBusToVector функция, которая автоматически вставляет блоки Bus to Vector, где шины обработаны как векторы.

Например, модель ex_bus_to_vector обработки соединяют шиной как векторы при помощи шин как входные параметры с блоками Gain.

Этот рисунок показывает ту же модель с блоками Bus to Vector после блока Bus Creator.

Блок Scope показывает результаты симуляции.

Результаты симуляции являются тем же самым в любом случае. Блок Bus to Vector является виртуальным, и не влияет на результаты симуляции, генерацию кода или производительность.

Реорганизуйте модель

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

Например, в модели ex_bus_to_vector, блок Gain требует векторного сигнала. Однако входной сигнал является шиной, созданной блоком Bus Creator.

Чтобы обеспечить необходимый векторный сигнал для блока Gain, замените блок Bus Creator на блок Mux.

Реорганизация модели вручную ставит эти проблемы:

  • Идентификация всех случаев в модели может затруднить.

  • Контакт со многими случаями в модели длителен и подвержен ошибкам.

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

Идентифицируйте неявные преобразования шины к вектору

Идентифицировать шины, обработанные как векторы:

  • Используйте проверку Check bus signals treated as vectors Model Advisor.

  • Используйте Simulink.BlockDiagram.addBusToVector функция.

  • Установите параметр конфигурации Bus signal treated as vector на warning или error. Настройкой по умолчанию для Bus signal treated as vector является none, который не генерирует предупреждающего сообщения или сообщения об ошибке, когда блок неявно преобразует шину в вектор в процессе моделирования.

Смотрите также

Блоки

Похожие темы