С Simulink® Check™ можно использовать инструменты Model Transformer и Identify Modeling Clones, чтобы осуществить рефакторинг модель, чтобы улучшить образцовую компонентизацию и удобочитаемость и включить повторное использование.
Можно использовать инструмент Identify Modeling Clones, чтобы включить повторное использование компонента путем выполнения этих задач:
Идентифицируйте клоны подсистемы.
Создайте блоки библиотеки от клонов.
Создайте модель, которая заменяет клоны на ссылки на блоки библиотеки.
Идентифицируйте подобные клоны.
Откройте модель ex_clone_detection
в качестве примера и соответствующую библиотеку ex_clone_library
.
addpath(fullfile(docroot,'toolbox','simulink','examples')) ex_clone_detection ex_clone_library
Сохраните модель и библиотеку к текущей папке на пути MATLAB.
В Редакторе Simulink, из меню Analysis, выбирают Refactor Model> Identify Modeling Clones. Чтобы открыть инструмент Identify Modeling Clones программно, в команде MATLAB запрашивают тип: clonedetection('ex_clone_detection')
.
Откройте папку Identify Modeling Clones.
Выберите Replace clones of library blocks with library links. В поле Library file name вставьте имя библиотеки, ex_clone_library
.
Выберите папку Identify Modeling Clones. Затем нажмите Run Selected Checks. Поскольку каждая проверка выбрана по умолчанию, инструмент идентифицирует все возможные клоны в модели.
Выберите каждую проверку. Проверки содержат гиперссылки на клоны в модели.
Каждая проверка содержит кнопку Refactor Model. Чтобы заменить клоны на ссылки на блоки библиотеки, необходимо завершить каждую проверку и нажать Refactor Model. Вы не можете одновременно осуществить выбранные проверки и осуществить рефакторинг модель.
Чтобы улучшить образцовую компонентизацию, заменяя квалифицирующий моделирование шаблонов с Различным Источником и Различными блоками Subsystem, используйте инструмент Model Transformer.
Модель ex_variants_transformer
содержит несколько шаблонов моделирования, которые имеют право на преобразование в блоки вариантов.
Откройте модель ex_variants_transformer
в качестве примера путем ввода этих команд в командной строке MATLAB:
addpath(fullfile(docroot,'toolbox','simulink','examples')) ex_variants_transformer
Сохраните модель в свою рабочую папку.
Из Редактора Simulink откройте инструмент Model Transformer путем выбора Refactor Model> Model Transformer. Или в Командном окне введите:
mdltransformer(‘ex_variants_transformer’)
Выберите проверку Transform model to variant system.
Нажмите Run This Check. Главная таблица Result содержит список системных констант, которые квалифицируют, чтобы быть частью выражений условия в Различном Источнике или Различных блоках Subsystem.
Нажмите Refactor Model.
Ваша рабочая папка содержит папку под названием m2m_ex_variants_transformer
. Эта папка содержит преобразованную модель gen0_ex_variants_transformer
.
Нижняя таблица Results содержит гиперссылки на исходные и преобразованные модели.
Выберите проверку Eliminate data store blocks. Можно использовать эту проверку, чтобы заменить хранилища данных на блоки, которые улучшают удобочитаемость модели путем создания зависимости по данным явной. Для примера смотрите, Улучшают Удобочитаемость Модели путем Устранения Локальных Блоков Хранилища данных.
Выберите проверку Transform table lookup into prelookup and interpolation. Можно использовать эту проверку, чтобы заменить блоки Интерполяционной таблицы в один разделяемый блок Prelookup и несколько блоков Интерполяции. Для примера смотрите, Повышают Эффективность Симуляции путем Оптимизации Операции Перед поиском Блоков Интерполяционной таблицы.