exponenta event banner

Извлечение подсистем для анализа

Обзор извлечения подсистем

Если имеется большая модель, которая замедляет анализ или имеет недостижимые цели, возможно, потребуется проанализировать атомарные подсистемы или атомные подшаблоны Stateflow ® с помощью Simulink ® Design Verifier™. Этот метод позволяет реализовать восходящий подход к анализу большой модели, как описано в разделе Восходящий подход к анализу модели.

При анализе подсистемы или атомарной подшаги программное обеспечение:

  • Извлекает подсистему или вложенную диаграмму в новую модель.

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

  • Анализ извлеченной модели и получение результатов.

Примечание

Программное обеспечение Simulink Design Verifier может анализировать только атомарные подсистемы и атомарные подшаблоны.

Дополнительные сведения об анализе подсистем см. в разделе Создание тестовых примеров для подсистемы.

Дополнительные сведения об анализе атомных подшаблонов см. в разделе Анализ атомарного подшаблона потока состояний.

Функция sldvextract

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

Структура извлеченной модели

При анализе подсистемы или атомарного подшаблона Simulink Design Verifier создает новую модель, содержащую подсистему или атомарный подшаг, а также все входные и выходные порты, соответствующие портам, подключенным к исходной подсистеме.

Программное обеспечение присваивает портам в новой модели следующие свойства, определяемые компиляцией исходной модели:

  • Типы данных

  • Показатели выборки

  • Размеры сигнала

  • Минимальное и максимальное значения диапазонов сигналов

Программа называет новую модель subsystem_name, где subsystem_name - имя подсистемы.

В следующих разделах приведены примеры извлечения и анализа подсистем в Simulink Design Verifier.

Анализ подсистем, считываемых из глобального хранилища данных

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

Хранилище данных создается с помощью блока памяти хранилища данных или Simulink.Signal объект. Блок памяти хранилища данных или Simulink.Signal объект представляет хранилище данных и задает его свойства. Каждое хранилище данных должно иметь уникальное имя.

При анализе подсистемы, считывающей данные из хранилища данных, доступ к которому осуществляется вне подсистемы, выполняется следующий анализ:

  • Добавление блока памяти хранилища данных в новую модель.

  • Добавляет входной порт для записи в хранилище данных. Поскольку входные данные записываются в хранилище данных, они могут иметь любые значения (в пределах указанного типа данных) для анализа Simulink Design Verifier.

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

В следующем примере анализируется подсистема в sl_subsys_fcncall8 пример модели:

  1. Откройте окно sl_subsys_fcncall8 пример модели:

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

  2. Щелкните правой кнопкой мыши подсистему Reader и выберите Design Verifier > Generate Tests for Subsystem.

    Окно журнала Simulink Design Verifier показывает, что программное обеспечение извлекает подсистему в новую модель с именем Reader, анализирует извлеченную модель и предлагает выбор результатов для получения.

  3. Открыть новый Reader модель, которую программное обеспечение создало в <current_folder>\sldv_output\Reader.

    Новый блок A Inport записывает данные в хранилище данных, которое используется подсистемой Reader в новой модели.

Анализ функциональных подсистем вызова

Подсистема вызова функций - это запускаемая подсистема, выполнение которой определяется логикой, внутренней для S-функции C MEX, а не значением сигнала. Подсистемы функционального вызова всегда являются атомарными.

Примечание

Дополнительные сведения см. в разделе Реализация функциональных подсистем вызовов с S-функциями.

При анализе модели с помощью подсистемы вызова функций Simulink Design Verifier создает новую модель с блоком Inport, имитирующим триггер и копию подсистемы. Затем программа анализирует новую модель.

В следующем примере анализируется подсистема вызова функции в sl_subsys_fcncall2 модель:

  1. Откройте окно sl_subsys_fcncall2 пример модели:

    Эта модель содержит диаграмму Stateflow с именем Chart, которая запускает подсистему вызова функций f.

  2. Щелкните правой кнопкой мыши подсистему f и выберите Design Verifier > Generate Tests for Subsystem.

    Программа извлекает подсистему в новую модель с именем f0, анализирует извлеченную модель и создает результаты.

  3. Откройте окно f0 модель, которую программное обеспечение создало в <current_folder>\sldv_output\f0.

    Блок Inport и блок новой подсистемы имитируют триггер для подсистемы функционального вызова f в новом f0 модель.