slreportgen.finder.SignalFinder class

Пакет: slreportgen.finder

Найти сигналы, используемые моделью или блоком

Описание

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

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

The 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 является блоком, таким как Subsystem или Model блок, который имеет порт управления. Управляющие сигналы управляют выполнением блока. Результаты сигнала управления представляют выходные порты блоков, которые подают в порт управления блоком, такой как порт включения, триггера или сброса. Если Container является моделью, любые сигналы, которые управляют выполнением блоков в модели, сообщаются как внутренние сигналы.

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

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

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

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

Находить ли сигналы без имени, задается как true или false.

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

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

  • inf - Поиск по всем уровням.

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

См. IncludeInsideSignals.

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

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

Методы

расширить все

Примеры

свернуть все

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

Импортируйте пакеты 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