Инструкции по компонентизации

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Подсистемы

  • Библиотеки

  • Образцовая ссылка

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

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

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

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

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

Подсистемы

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

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

Библиотеки

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

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

Образцовая ссылка

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Скорость загрузки модели

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

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

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

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

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

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

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

Memory

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

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

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

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

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

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

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

Функции

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

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

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

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

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

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

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

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

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

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

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

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

Шины

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

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

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

S-функции

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

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

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

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

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

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

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

Инструменты

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Скорость загрузки модели

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

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

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

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

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

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

Memory

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

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

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

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

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

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

Функции

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

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

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

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

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

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

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

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

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

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

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

Шины

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

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

S-функции

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

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

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

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

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

Инструменты

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Скорость загрузки модели

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

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

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

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

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

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

Memory

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

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

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

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

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

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

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

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

Функции

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

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

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

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

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

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

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

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

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

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

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

Шины

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

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

S-функции

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

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

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

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

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

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

Инструменты

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Скорость загрузки модели

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

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

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

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

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

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

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

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

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

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

Memory

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

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

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

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

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

Рассмотрите Параметры конфигурации включения>, Ссылка Модели> Минимизирует алгебраические случаи цикла.

Функции

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Шины

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

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

S-функции

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

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

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

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

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

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

Инструменты

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

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

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

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

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

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

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

  • Образцовая ссылка требует использования объектов шины. Для получения информации смотрите, что Данные Шины Пересекают Контуры Модели - ссылки.

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

Больше о

Была ли эта тема полезной?