Перед внедрением части системы с использованием определенного типа компонента необходимо выяснить, удовлетворяет ли тип компонента требованиям моделирования.
| Учет компонентов | Требования к моделированию |
|---|---|
| Процесс разработки |
|
| Требования к производительности |
|
| Особенности |
|
| Требования к моделированию | Подсистемы | Связанные подсистемы | Ссылки на подсистемы | Ссылки на модель |
|---|---|---|---|---|
| Повторное использование компонента | Не поддерживается Хотя можно скопировать подсистему для ее повторного использования в модели, копии не зависят друг от друга. При редактировании подсистемы изменения применяются к файлу родительской модели. Чтобы создать или изменить подсистему, необходимо открыть родительскую модель, что может привести к конфликту файлов, когда в модели хотят работать несколько человек. | Поддержанный Родительский блок библиотеки связанного блока сохраняется в отдельном файле из модели, которая с ним связана. Использование отдельных файлов помогает избежать конфликтов файлов. Можно связать один и тот же родительский блок библиотеки несколько раз в нескольких моделях без создания копий. Управление ссылками на библиотеки добавляет некоторые издержки, такие как управление разорванными, отключенными или параметризованными ссылками. | Поддержанный Подсистема, на которую имеется ссылка, сохраняется в отдельном файле из модели, которая ссылается на нее. Использование отдельных файлов помогает избежать конфликтов файлов. Можно ссылаться на одну и ту же подсистему несколько раз в нескольких моделях без создания копий. | Поддержанный Ссылочная модель сохраняется в отдельном файле из ссылочной модели. Использование отдельных файлов помогает избежать конфликтов файлов. Можно ссылаться на одну и ту же модель несколько раз в нескольких моделях без создания копий. См. раздел Повторное использование модели. |
| Общие данные | Поддержанный Данные можно совместно использовать в экземплярах путем определения данных вне компонента. Например, при использовании хранилища данных в общей родительской подсистеме. | Поддержанный То же поведение, что и у подсистем. | Поддержанный То же поведение, что и у подсистем. | Поддержанный Можно совместно использовать данные экземпляров ссылочной модели, создав хранилище данных внутри модели. См. раздел Совместное использование данных среди экземпляров ссылочной модели. |
| Изменения, специфичные для экземпляра | Поддержанный Копии подсистем независимы друг от друга. | Поддержанный При редактировании родительского блока библиотеки изменения применяются к файлу библиотеки и распространяются на все блоки, связанные с этим блоком. Для редактирования экземпляра блока можно отключить связь с библиотекой. Нельзя отключить связи с библиотекой, если родительский блок библиотеки имеет ограниченный доступ на запись. | Не поддерживается При редактировании экземпляра указанной подсистемы изменения применяются к файлу подсистемы и распространяются на все другие экземпляры указанной подсистемы. | Не поддерживается При редактировании экземпляра ссылочной модели изменения применяются к файлу модели и распространяются на все другие экземпляры ссылочной модели. |
| Управление версиями и конфигурацией | Не поддерживается Нельзя непосредственно размещать подсистемы в системе управления версиями. Чтобы уменьшить конфликтность файлов и использовать отдельный контроль версий для каждой подсистемы, используйте ссылку на подсистему. | Поддержанный Файлы библиотеки можно поместить в систему управления версиями. Чтобы обеспечить индивидуальное управление версиями для каждого блока библиотеки, используйте ссылки на подсистемы и ссылки на модели в библиотеке. При перетаскивании этих блоков из библиотеки в модель они ссылаются на файл подсистемы или файл модели. Пересылка таблиц позволяет сопоставить старые библиотечные блоки с новыми версиями блоков. | Поддержанный Файлы подсистем можно поместить в систему управления версиями. | Поддержанный Файлы модели можно поместить в систему управления версиями. |
| Защита интеллектуальной собственности | Не поддерживается Вместо этого используйте ссылки на модель. | Не поддерживается То же поведение, что и у подсистем. | Не поддерживается То же поведение, что и у подсистем. | Поддержанный Защищенные модели скрывают содержимое модели, что может быть полезно при распределении моделей. Для создания защищенной модели требуется лицензия Simulink ® Coder™. Использование защищенной модели не требует лицензии Simulink Coder. |
| Модульные испытания | Поддержанный Подсистемы зависят от их контекста в модели. При изменении контекста подсистемы, например типа данных входного сигнала, необходимо обновить соответствующий тестовый жгут. Для подсистем, не являющихся атомарными, тестовый жгут может использовать различные заказы на выполнение блоков из-за виртуальных границ. Инструменты, поддерживающие разработку, управление и выполнение систематических тестов подсистем на основе моделирования, см. в разделах Создание тестовых жгутов и выбор свойств (Simulink Test). Сведения о тщательном тестировании компонентов модели см. в разделе Покрытие модели (Simulink Coverage). | Поддержанный То же поведение, что и у подсистем. | Поддержанный То же поведение, что и у подсистем. | Поддержанный Можно независимо протестировать ссылочную модель, чтобы изолировать поведение, моделируя ее как модель верхнего уровня. Можно использовать определяемый данными тестовый жгут с тестовыми векторами MATLAB ® и непосредственным сбором покрытия. Инструменты, поддерживающие разработку, управление и выполнение систематических тестов подсистем на основе моделирования, см. в разделах Создание тестовых жгутов и выбор свойств (Simulink Test). Сведения о тщательном тестировании компонентов модели см. в разделе Покрытие модели (Simulink Coverage). |
| Требования к моделированию | Подсистемы | Связанные подсистемы | Ссылки на подсистемы | Ссылки на модель |
|---|---|---|---|---|
| Инкрементная загрузка модели | Не поддерживается При загрузке модели загружается все содержимое подсистемы, сохраненное в модели. | Поддержанный Simulink инкрементально загружает библиотеку в точке, необходимой во время редактирования, обновления диаграммы или моделирования модели. | Поддержанный Simulink инкрементально загружает подсистему ссылки в точке, необходимой во время редактирования, обновления диаграммы или моделирования модели. | Поддержанный Simulink инкрементально загружает ссылочную модель в точке, необходимой во время редактирования, обновления диаграммы или моделирования модели. |
| Повторное использование артефакта построения | Не поддерживается Артефакты построения, например цели моделирования, не создаются для подсистем. | Не поддерживается То же поведение, что и у подсистем. | Не поддерживается То же поведение, что и у подсистем. | Поддержанный Можно совместно использовать артефакты построения, например цели моделирования, с помощью файлов кэша Simulink. Дополнительные сведения см. в разделе Совместное использование файлов кэша Simulink для более быстрого моделирования. |
| Сокращение использования памяти для больших моделей | Не поддерживается Подсистемы не уменьшают использование памяти для моделирования и генерации кода. | Не поддерживается Связанные подсистемы не уменьшают использование памяти для моделирования и генерации кода. Во время обновления блоков Simulink дублирует экземпляры блоков библиотеки. | Не поддерживается Ссылки на подсистемы не уменьшают использование памяти для моделирования и генерации кода. Simulink дублирует экземпляры ссылок на подсистемы во время обновления блока. | Поддержанный Модели, на которые ссылаются в режиме ускорителя, сокращают использование памяти для моделирования и генерации кода, поскольку Simulink постепенно загружает их скомпилированные версии. |
| Устранение искусственной алгебраической петли | Поддержанный Подсистемы, не являющиеся атомарными, избегают искусственных алгебраических циклов. Если подсистема является атомной, можно попытаться устранить искусственные алгебраические циклы, включив параметр блока Подсистема минимизировать вхождения алгебраических циклов. | Поддержанный То же поведение, что и у подсистем. | Поддержанный То же поведение, что и у подсистем. | Поддержанный Можно попытаться устранить искусственные алгебраические циклы, включив команду «Параметры конфигурации» > «Ссылка на модель» > «Минимизировать вхождения алгебраических циклов». |
| Требования к моделированию | Подсистемы | Связанные подсистемы | Ссылки на подсистемы | Ссылки на модель |
|---|---|---|---|---|
| Параметры совместимой конфигурации | Поддержанный Подсистемы используют настройки параметров конфигурации модели, которая их содержит. | Поддержанный То же поведение, что и у подсистем. | Поддержанный То же поведение, что и у подсистем. | Поддержанный Настройки параметров конфигурации обычно могут отличаться для родительской модели и ссылочных моделей. Сведения о совместимости см. в разделе Настройка параметров конфигурации иерархий модели. |
| Спецификация свойств сигнала на интерфейсах | Поддержанный Свойства сигнала можно задать на интерфейсе подсистемы. Для свойств сигнала, которые не указаны, подсистемы наследуют свойства сигнала из своего контекста. Распространение свойств сигнала может привести к Simulink с использованием свойств сигнала, которые не ожидаются. | Поддержанный То же поведение, что и у подсистем. | Поддержанный То же поведение, что и у подсистем. | Поддержанный Необходимо указать большинство свойств сигнала в интерфейсе ссылочной модели. Ссылочные модели не зависят от контекста с определенной границей, поэтому они не наследуют большинство свойств сигнала. Ссылочные модели могут наследовать дискретное время выборки, когда ссылочная модель не зависит от времени выборки. |
| Спецификация шины | Поддержанный Вы можете использовать Подсистемы не требуют использования | Поддержанный То же поведение, что и у подсистем. | Поддержанный То же поведение, что и у подсистем. | Поддержанный Вы можете использовать Привязки модели не требуют использования |
| Инициализация состояния | Поддержанный Можно инициализировать состояния подсистем. | Поддержанный То же поведение, что и у подсистем. | Поддержанный То же поведение, что и у подсистем. | Поддержанный Состояния из модели верхнего уровня можно инициализировать с помощью формата структуры или формата structure-with-time. Дополнительные сведения см. в разделе Сведения о состоянии ссылочных моделей. |
Создание кода | Поддержанный Для получения информации о генерации кода подсистемы см. раздел Управление генерацией функций для подсистем (Simulink Coder). | Поддержанный Сведения о создании кода связанной подсистемы см. в разделе Управление созданием функций для подсистем (Simulink Coder). | Поддержанный То же поведение, что и у подсистем. | Поддержанный Сведения о создании ссылочного кода модели см. в разделе Создание кода для ссылочной иерархии модели (Simulink Coder). |