exponenta event banner

slreportgen.finder.SignalFinder класс

Пакет: slreportgen.finder

Поиск сигналов, используемых моделью или блоком

Описание

Использование объекта slreportgen.finder.SignalFinder для поиска сигналов, используемых моделью или блоком.

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

slreportgen.finder.SignalFinder класс является handle класс.

Атрибуты класса

HandleCompatible
true

Сведения об атрибутах класса см. в разделе Атрибуты класса.

Создание

Описание

пример

finder = slreportgen.finder.SignalFinder(container) создает SignalFinder и устанавливает свойство Container для модели или блока, указанного в container. Используйте SignalFinder свойства для:

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

  • Укажите количество уровней для поиска в модели.

Используйте SignalFinder методы для выполнения поиска.

Примечание

Этот поисковик предоставляет два способа получения результатов поиска:

  1. Чтобы вернуть результаты поиска в виде массива, используйте find способ. Добавление результатов непосредственно в отчет или обработка результатов в for цикл.

  2. Чтобы выполнить итерацию результатов по одному, используйте hasNext и next методы в while цикл.

Ни один из вариантов не имеет преимущества в производительности.

finder = slreportgen.finder.SignalFinder(Name,Value) устанавливает SignalFinder свойства объекта с использованием пар имя-значение. Можно указать несколько аргументов пары имя-значение в любом порядке. Заключите каждое имя свойства в одинарные или двойные кавычки.

Свойства

развернуть все

Модель или блок для поиска сигналов, указанные как одно из следующих значений:

  • Строковый скалярный или символьный вектор, содержащий имя модели или блока

Поиск сигналов, используемых в качестве входных данных для модели или блока контейнера, указанных как true или false. Если Container является моделью, результаты входного сигнала представляют выходные порты любых блоков Inport на верхнем уровне модели. Если Container является блоком, результаты входного сигнала представляют выходные порты блоков, которые подают в входные порты блока контейнера.

Поиск сигналов, выводимых моделью контейнера или блоком, указанным как true или false. Если Container является моделью, результаты выходного сигнала представляют выходные порты блоков, которые поступают в блоки Outport на верхнем уровне модели. Если Container является блоком, результаты выходного сигнала представляют выходные порты блока.

Найти ли сигналы управления блоками, указанные как true или false. Это свойство применяется только в том случае, если Container является блоком, таким как подсистема или блок модели, который имеет управляющий порт. Управляющие сигналы управляют выполнением блока. Результаты управляющего сигнала представляют выходные порты блоков, которые поступают в управляющий порт блока, например, порт включения, запуска или сброса. Если Container является моделью, любые сигналы, которые управляют выполнением блоков в модели, сообщаются как внутренние сигналы.

Найти ли внутренние сигналы, указанные как true или false. Внутренние сигналы не используются в качестве входных, выходных или управляющих сигналов для модели или подсистемы. Это свойство применяется только в том случае, если Container является моделью или подсистемой. Результаты внутреннего сигнала представляют выходные порты всех блоков в системе, за исключением выходных портов блоков Inport и выходных портов, которые поступают в блоки Outport.

Найти ли сигналы, выводимые виртуальными блоками, указанные как true или false.

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

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

Поиск сигналов без имени, указанного как true или false.

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

  • 1 - Только на первом (верхнем) уровне поиска.

  • inf - Поиск на всех уровнях.

  • Целое число n больше единицы - поиск указанного количества уровней. Результаты сортируются с первого (верхнего) уровня на уровень n.

См. раздел IncludeInternalSignals.

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

Пример: {'CompiledPortDataType','int8'}

Методы

развернуть все

Примеры

свернуть все

В этом примере создается отчет, содержащий информацию о сигналах в модели с помощью slreportgen.finder.SignalFinder объект. В примере задаются свойства поиска таким образом, чтобы исключить сигналы без имен и включить внутренние сигналы.

Импортируйте пакеты MATLAB Report API и Simulink Finder API, чтобы не использовать длинные, полные имена классов.

import mlreportgen.report.*
import slreportgen.finder.*

Создание отчета Simulink.

rpt = slreportgen.report.Report("MyReport","pdf");

Создайте главу для информации о сигнале.

chapter = Chapter();
chapter.Title = "Named Signals";

Загрузка модели.

model_name = "vdp";
load_system(model_name);

Создайте поисковик сигналов и задайте свойства для исключения сигналов без имен и включения внутренних сигналов.

finder = SignalFinder(model_name);
finder.IncludeUnnamedSignals = false;
finder.IncludeInternalSignals = true;

Найдите сигналы и добавьте результаты в главу.

results = find(finder);
append(chapter,results);

Добавьте главу в отчет.

append(rpt,chapter);

Закройте и просмотрите отчет.

close(rpt);
rptview(rpt);
Представлен в R2021a