Основанные на компонентах Руководства по моделированию

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

  • Team-based development - Уменьшайте споры по файлу и разрабатывайте компоненты независимо через четко определенные интерфейсы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Множество различных настроек той же функциональности

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

Задайте компоненты модели

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

Идентифицируйте компоненты Simulink, которые совпадают с вашими требованиями к моделированию высокого уровня.

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