Возможности компонентов модели

Компонентизация

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

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

  • Удовлетворяя требования процесса разработки, такие как:

    • Повторное использование компонента

    • Основанная на команде разработка

    • Защита интеллектуальной собственности

    • Модульное тестирование

  • Улучшание производительности для:

    • Образцовая загрузка

    • Скорость симуляции

    • Использование памяти

Методы компонентизации

Ключевые методы компонентизации, которые можно использовать с Simulink, включают:

  • Подсистемы

  • Библиотеки

  • Модели - ссылки

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

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

Общие инструкции по компонентизации

Эта таблица предоставляет высокоуровневые инструкции о видах моделирования целей и моделей, для которых каждый особенно хорошо удовлетворяют подсистемам, библиотекам и моделям - ссылкам.

Метод компонентизацииМоделирование целей, для которых хорошо подходит метод

Подсистемы

  • Добавьте иерархию, чтобы организовать и визуально упростить модель.

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

Библиотеки

  • Обеспечьте часто используемую, и нечасто изменяемую, моделирующую утилиту.

  • Компоненты повторного использования неоднократно в модели или в многоуровневых моделях.

Модели - ссылки

  • Разработайте модель, на которую ссылаются, независимо из моделей, которые используют ее.

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

  • Сошлитесь на модель многократно, не имея необходимость сокращать копии.

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

  • Улучшайте общую производительность при помощи инкрементной образцовой загрузки, обновите схему, симуляцию и генерацию кода для больших моделей (например, модель с 10 000 блоков).

  • Выполните модульное тестирование.

  • Упростите отладку для больших моделей.

  • Сгенерируйте код, который отражает образцовую структуру.

Для более подробного сравнения этих техник моделирования см. Сводные данные Методов Компонентизации.

Сводные данные методов компонентизации

Этот раздел сравнивает подсистемы, библиотеки и модели - ссылки. Таблица включает рекомендации и примечания об области значений моделирования требований и функций.

Моделирование требования или функцииПодсистемыБиблиотекиМодели - ссылки

Процесс разработки

Повторное использование компонента

 Не поддерживаемый

 Хорошо удовлетворенный

 Хорошо удовлетворенный

Основанная на команде разработка

 Не поддерживаемый

 Поддерживаемый, с ограничениями

 Хорошо удовлетворенный

Защита интеллектуальной собственности

 Не поддерживаемый

 Не поддерживаемый

 Хорошо удовлетворенный

Модульное тестирование

 Поддерживаемый, с ограничениями

 Поддерживаемый, с ограничениями

 Хорошо удовлетворенный

Производительность

Модель, загружающая скорость

 Поддерживаемый, с ограничениями

 Хорошо удовлетворенный

 Хорошо удовлетворенный

Скорость симуляции для больших моделей

 Поддерживаемый, с ограничениями

 Поддерживаемый, с ограничениями

 Хорошо удовлетворенный

Memory

 Поддерживаемый, с ограничениями

 Поддерживаемый, с ограничениями

 Хорошо удовлетворенный

Искусственное алгебраическое предотвращение цикла

 Хорошо удовлетворенный

 Хорошо удовлетворенный

 Поддерживаемый, с ограничениями

Функции

Наследование свойства сигнала

 Хорошо удовлетворенный

 Хорошо удовлетворенный

 Поддерживаемый, с ограничениями

Инициализация состояния

 Хорошо удовлетворенный

 Хорошо удовлетворенный

 Поддерживаемый, с ограничениями

Приспособляемость

 Хорошо удовлетворенный

 Хорошо удовлетворенный

 Поддерживаемый, с ограничениями

Шины

 Хорошо удовлетворенный

 Хорошо удовлетворенный

 Поддерживаемый, с ограничениями

S-функции

 Хорошо удовлетворенный

 Хорошо удовлетворенный

 Поддерживаемый, с ограничениями

Настройки конфигурации модели

 Хорошо удовлетворенный

 Хорошо удовлетворенный

 Поддерживаемый, с ограничениями

Инструменты

 Хорошо удовлетворенный

 Поддерживаемый, с ограничениями

 Поддерживаемый, с ограничениями

Генерация кода

 Поддерживаемый, с ограничениями

 Поддерживаемый, с ограничениями

 Хорошо удовлетворенный

Для каждой техники моделирования вы видите сводную таблицу, которая включает более подробную информацию, включенную в ссылки в вышеупомянутой сводной таблице методов компонентизации:

Сводные данные подсистем

Этот раздел предоставляет инструкции для использования подсистем для каждого из требований моделирования и показывает подсвеченный в Сводных данных Методов Компонентизации.

Для получения дополнительной информации о подсистемах см.:

Моделирование требования или функцииИнструкции для подсистем

Процесс разработки

Повторное использование компонента

Не поддерживаемый

  • Скопируйте подсистему, чтобы снова использовать его в модели.

  • Копии подсистемы независимы друг от друга.

  • Сохраните подсистему путем сохранения модели, которая содержит подсистему.

  • Управление конфигурацией для подсистем является трудным.

Основанная на команде разработка

Не поддерживаемый

  • Для подсистем в модели Simulink не обеспечивает прямого интерфейса с инструментами системы контроля версий.

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

Защита интеллектуальной собственности

Не поддерживаемый

Используйте защищенные модели, на которые ссылаются, вместо этого.

Модульное тестирование

Поддерживаемый, с ограничениями

  • Для тестирования покрытия используйте Signal Builder и исходные блоки.

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

  • Тестовая обвязка может иметь различные порядки сортировки Simulink, из-за виртуальных контуров.

  • Файлы тестовой обвязки требуют управления конфигурацией наверху.

Производительность

Модель, загружающая скорость

Поддерживаемый, с ограничениями

Загрузка модели загружает все подсистемы когда-то. Нет никакой инкрементной загрузки.

Скорость симуляции для больших моделей

Поддерживаемый, с ограничениями

  • К симуляции скорости используйте Акселератор или Быстрый режим симуляции Акселератора.

  • Режим Simulation применяется к целой модели. Модели - ссылки обеспечивают более прекрасный уровень управления для режимов симуляции.

Memory

Поддерживаемый, с ограничениями

Использование памяти для симуляции и генерации кода сопоставимо для подсистем и библиотек. Для моделей с более чем 500 блоками Режим Accelerator модели - ссылки может значительно уменьшать использование памяти для симуляции и генерации кода.

Искусственное алгебраическое предотвращение цикла

Хорошо удовлетворенный

  • Виртуальные подсистемы избегают искусственных алгебраических циклов.

  • Для невиртуальных подсистем рассмотрите включение параметра блока Subsystem Minimize algebraic loop occurrences.

Функции

Наследование свойства сигнала

Хорошо удовлетворенный

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

  • Распространение свойств сигнала может привести к Simulink с помощью свойств сигнала, которые вы не ожидали.

Инициализация состояния

Хорошо удовлетворенный

Можно инициализировать состояния подсистем.

Приспособляемость

Хорошо удовлетворенный

  • Настройте подсистемы с помощью параметризации блока или замаскированных подсистем.

  • Управляйте приспособляемостью в сгенерированном коде с помощью Configuration Parameters> Optimization> Default parameter behavior.

Шины

Хорошо удовлетворенный

Подсистемы не требуют использования объектов шины для виртуальных шин.

S-функции

Хорошо удовлетворенный

Поддержка подсистем встроенные или невстроенные S-функции.

Настройки конфигурации модели

Хорошо удовлетворенный

Подсистема использует настройки конфигурации модели модели, которая содержит подсистему.

Инструменты

Хорошо удовлетворенный

Подсистемы оказывают обширную поддержку для инструментов Simulink.

Генерация кода

Поддерживаемый, с ограничениями

  • Чтобы сгенерировать код для подсистемы отдельно, щелкните правой кнопкой по блоку Subsystem и выберите опцию генерации кода.

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

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

Сводные данные библиотек

Этот раздел предоставляет инструкции для пользования библиотеками для каждого из требований моделирования и показывает подсвеченный в Сводных данных Методов Компонентизации.

Для получения дополнительной информации о библиотеках смотрите Библиотеки.

Моделирование требования или функцииИнструкции для библиотек

Процесс разработки

Повторное использование компонента

Хорошо удовлетворенный

  • Доступ к набору четко определенных служебных блоков.

  • Создайте компонент однажды и снова используйте его в моделях.

  • Соединитесь с тем же блоком библиотеки многократно, не создавая несколько копий.

  • Соединитесь с тем же блоком библиотеки от многоуровневых моделей.

  • Ограничьте доступ для записи к компонентам библиотеки.

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

  • Отключите ссылку, чтобы позволить независимые изменения в соединенном блоке.

  • Ссылки библиотеки Managing добавляют немного служебные.

  • Сохраните библиотеку в файле, подобном модели Simulink, но вы не можете моделировать содержимое файла.

  • Осуществляйте обмен данными между экземплярами путем определения данных вне компонента (например, хранилище данных в общей родительской подсистеме).

Основанная на команде разработка

Поддерживаемый, с ограничениями

  • Поместите файлы библиотеки в систему контроля версий для системы контроля версий и управления конфигурацией.

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

  • Чтобы уменьшать конкуренцию файла, используйте одну подсистему на библиотеку.

  • Соединитесь с тем же блоком библиотеки от многоуровневых моделей.

  • Ограничьте доступ для записи к компоненту библиотеки.

Защита интеллектуальной собственности

Не поддерживаемый

Используйте защищенные модели, на которые ссылаются, вместо этого.

Модульное тестирование

Поддерживаемый, с ограничениями

  • Для тестирования покрытия используйте Signal Builder и исходные блоки.

  • Тестовая обвязка может иметь различные порядки сортировки Simulink, из-за виртуальных контуров.

  • Файлы тестовой обвязки требуют управления конфигурацией наверху.

Производительность

Модель, загружающая скорость

Хорошо удовлетворенный

Simulink инкрементно загружает библиотеку в точке, необходимой во время редактирования, обновления схемы или симуляции модели.

Скорость симуляции для больших моделей

Поддерживаемый, с ограничениями

  • К симуляции скорости используйте Акселератор или Быстрый режим симуляции Акселератора.

  • Режим Simulation применяется к целой модели. Модели - ссылки обеспечивают более прекрасный уровень управления для режимов симуляции.

Memory

Поддерживаемый, с ограничениями

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

  • Simulink копирует экземпляры блока библиотеки во время обновления блока.

  • Использование памяти для симуляции и генерации кода сопоставимо для подсистем и библиотек. Для моделей с более чем 500 блоками Режим Accelerator модели - ссылки может значительно уменьшать использование памяти для симуляции и генерации кода.

Искусственное алгебраическое предотвращение цикла

Хорошо удовлетворенный

  • Виртуальные подсистемы избегают искусственных алгебраических циклов.

  • Для невиртуальных подсистем рассмотрите включение параметра блока Subsystem Minimize algebraic loop occurrences.

Функции

Наследование свойства сигнала

Хорошо удовлетворенный

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

  • Распространение свойств сигнала может привести к Simulink с помощью свойств сигнала, которые вы не ожидали.

Инициализация состояния

Хорошо удовлетворенный

Можно инициализировать состояния блоков библиотеки.

Приспособляемость

Хорошо удовлетворенный

  • Настройте параметризацию блока использования блоков библиотеки или замаскированные подсистемы.

  • Управляйте приспособляемостью в сгенерированном коде с помощью Configuration Parameters> Optimization> Default parameter behavior.

Шины

Хорошо удовлетворенный

Библиотеки не требуют использования объектов шины для виртуальных шин.

S-функции

Хорошо удовлетворенный

Поддержка библиотек встроенные и невстроенные S-функции.

Настройки конфигурации модели

Хорошо удовлетворенный

  • Модели библиотеки не имеют настроек конфигурации модели.

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

Инструменты

Поддерживаемый, с ограничениями

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

Генерация кода

Поддерживаемый, с ограничениями

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

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

Сводные данные моделей - ссылок

Этот раздел предоставляет инструкции для использования моделей - ссылок для каждого из требований моделирования и показывает подсвеченный в Сводных данных Методов Компонентизации.

Для получения дополнительной информации о моделях - ссылках см.:

Моделирование требования или функцииИнструкции для моделей - ссылок

Требования процесса разработки

Повторное использование компонента

Хорошо удовлетворенный

Основанная на команде разработка

Хорошо удовлетворенный

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

  • Разработайте, создайте, моделируйте и протестируйте модель, на которую ссылаются, независимо из модели, которая ссылается на нее.

  • Соединитесь с той же моделью - ссылкой от многоуровневых моделей.

  • Изменения, внесенные в модель, на которую ссылаются, применяются ко всем экземплярам той модели, на которую ссылаются.

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

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

Защита интеллектуальной собственности

Хорошо удовлетворенный

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

  • Создание защищенной особенности модели требует лицензии Simulink Coder. Используя защищенную модель не требует лицензии Simulink Coder.

Модульное тестирование

Хорошо удовлетворенный

  • Протестируйте компоненты независимо, чтобы изолировать поведения путем симуляции их автономный.

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

  • Используйте заданную данными тестовую обвязку с тестовыми векторами MATLAB и прямым набором покрытия.

  • Для тестирования покрытия используйте корневой импорт и выходные порты.

Производительность

Модель, загружающая скорость

Хорошо удовлетворенный

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

  • Если целевая сборка симуляции требуется, новая загрузка может быть медленной.

Скорость симуляции для больших моделей

Хорошо удовлетворенный

  • Моделируйте, автономную модель, на которую ссылаются.

  • Блок Model имеет опцию для определения режима симуляции.

  • Можно улучшиться, восстанавливают производительность путем выбора соответствующей установки для Configuration Parameters> Model Referencing> параметр Rebuild.

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

  • Смотрите требования симуляции и ограничения.

Memory

Хорошо удовлетворенный

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

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

Искусственное алгебраическое предотвращение цикла

Поддерживаемый, с ограничениями

Считайте включение Configuration Parameters> Model Referencing> Minimize algebraic loop occurrences.

Функции

Наследование свойства сигнала

Поддерживаемый, с ограничениями

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

  • Блок Model независим от контекста, таким образом, он не может наследовать свойства сигнала. Явным образом установите свойства сигнала ввода и вывода.

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

  • Строки блока Goto и From не могут пересечь контуры модели - ссылки.

  • Смотрите, что индекс основывает ограничения.

Инициализация состояния

Поддерживаемый, с ограничениями

  • Можно инициализировать состояния от топ-модели.

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

  • Чтобы использовать SimState (состояние симуляции) функция с моделями - ссылками, моделируйте все блоки Model в Режиме normal mode.

  • Смотрите информацию состояния для моделей, на которые ссылаются.

Приспособляемость

Поддерживаемый, с ограничениями

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

  • Чтобы иметь каждый экземпляр модели, на которую ссылаются, используют те же значения, используют объекты Simulink.Parameter.

  • По умолчанию все другие параметры встраиваются в сгенерированном коде.

Шины

Поддерживаемый, с ограничениями

Необходимо использовать объекты шины для сигналов шины, что крест сослался на образцовые контуры (например, хранилища глобальных данных, корневой импорт, корневые выходные порты).

S-функции

Поддерживаемый, с ограничениями

Модели - ссылки обычно поддерживают встроенные или невстроенные S-функции. Смотрите S-функции в Моделях, на которые Ссылаются.

Настройки конфигурации модели

Поддерживаемый, с ограничениями

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

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

Инструменты

Поддерживаемый, с ограничениями

  • Существуют некоторые ограничения для использования некоторых инструментов Simulink, таких как Отладчик Simulink, с моделями - ссылками.

  • Для получения дополнительной информации смотрите Требования Инструментов и Ограничения.

Генерация кода

Хорошо удовлетворенный

  • По умолчанию модели - ссылки генерируют код инкрементно.

  • Можно улучшиться, восстанавливают производительность путем выбора соответствующей установки для Configuration Parameters> Model Referencing> параметр Rebuild.

Связанные примеры

Больше о