exponenta event banner

Рекомендации по моделированию на основе компонентов

Компонентность выгодна организациям, разрабатывающим модели Simulink ®, состоящие из множества функциональных элементов. Использование компонентов модели позволяет:

  • Командная разработка - снижение конфликтности файлов и независимая разработка компонентов с помощью четко определенных интерфейсов.

  • Снижение сложности конструкции - каждый компонент решает меньшие задачи.

  • Повторное использование компонентов - повторное использование алгоритмов и моделей среды в рамках проекта и нескольких проектов.

  • Модульное тестирование - исключение повторного тестирования для неизмененных компонентов и снижение затрат на проверку.

  • Масштабируемые преимущества производительности - сокращение использования памяти и времени, необходимого для загрузки и моделирования моделей.

  • Варианты компонента - выбор нескольких реализаций компонента.

  • Защита интеллектуальной собственности - ограничение функциональности и видимости содержимого для компонентов, совместно используемых третьими сторонами.

Следует ли создавать компоненты модели?

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

Разделение существующей модели Simulink на компоненты аналогично разделению большого фрагмента кода (кода C, Java или MATLAB ®) на несколько функций. Преобразование может потребовать значительных усилий и значительных модификаций, если конструкция не является модульной с самого начала.

Учет масштабируемости модели и потенциальных требований заранее упрощает разделение модели Simulink на компоненты. Определение компонентов заранее может помочь избежать этих трудностей:

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

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

  • Алгебраические петли - если один инженер разрабатывает модель снизу вверх, они, вероятно, группируют блоки в подсистемы по мере увеличения сложности модели. Подсистемы внутри модели, вероятно, являются визуальными группировками, которые не влияют на выполнение модели. Если сделать эти подсистемы атомарными или преобразовать их в ссылочные модели, можно ввести нежелательные алгебраические циклы, которые трудно диагностировать и исправить.

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

  • Тысячи блоков

  • Сотни логических решений

  • Конфигурации с несколькими вариантами одной и той же функциональности

Проекты и система управления версиями помогают управлять компонентами. Дополнительные сведения см. в разделе Что такое проекты? и управление конфигурацией.

Определение компонентов модели

1. Выбор между типами компонентов модели

Определение компонентов Simulink, соответствующих высоким требованиям к моделированию.

2. Сравнение возможностей компонентов моделиИзучите, какие типы компонентов модели соответствуют низким требованиям к моделированию.
3. Определение интерфейсов компонентов моделиНастройка атрибутов сигнала на интерфейсах и управление данными для компонентов модели.