slreportgen.finder. Класс SystemDiagramFinder

Пакет: slreportgen.finder
Суперклассы:

Создайте средство поиска блок-схемы

Описание

Создайте средство поиска блок-схемы Simulink®.

Конструкция

finder = SystemDiagramFinder(container) создает средство поиска, которое находит по умолчанию все непрокомментированные Диаграммы Simulink в заданном контейнере, который может быть моделью Simulink или подсистемой. Чтобы ограничить поиск к определенным типам моделей или подсистем, используйте свойства средства поиска.

Примечание

Это средство поиска может действовать или в найти или в режим итератора. В режиме находки используйте его метод find, чтобы возвратить результаты поиска как массив результатов. В режиме итератора используйте его hasNext и методы next, чтобы возвратить результаты поиска один за другим. При поиске в моделях, которые имеют много моделей - ссылок, используйте режим итератора. Режим Iterator закрывает модель после компиляции и поиска его, тогда как находят, что режим сохраняет все модели, которые это ищет открытый. Наличие многих открытых моделей может использовать всю системную память и замедлить генерацию отчета. Режим Iterator медленнее, чем находят режим, таким образом, использование находит, что режим ищет модели что ссылка немногие или никакие другие модели.

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

Входные параметры

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

Свойство See Container.

Свойства

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

Системный контейнер, в котором можно искать, заданный как одно из этих значений:

  • Указатель модели Simulink или подсистемы

  • Путь к модели Simulink или подсистеме

Глубина системы схематически изображает поиск, заданный как inf или положительное целое число. SearchDepth задает сколько уровней глубоко, чтобы искать контейнер схемы схемы. Чтобы искать все уровни, используйте inf.

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

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

Выбор искать ссылки Библиотеки Simulink, заданные как логическое. Если и этим свойством и IncludeMaskedSubsystems является true, ссылки поисковых запросов средства поиска в контейнере схемы и к Подсистеме и к замаскированным блокам Subsystem в Библиотеках Simulink. Это ищет на заданный SearchDepth и включает схемы, которые это находит в результатах поиска. Если этим свойством является true, но IncludeMaskedSubsystems является false, средство поиска ищет только ссылки на блоки Subsystem в Библиотеках Simulink.

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

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

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

Варианты, чтобы искать схемы, заданные как строка или вектор символов. Значением по умолчанию является Active. Допустимые значения:

  • Все Все варианты

  • Active — Только активные варианты

  • ActivePlusCode — Все активные варианты и варианты кода

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

Пример: finder.Properties = {'Gain','5'}

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

Примечание

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

Методы

results = find(finder) находит блок-схемы в container заданными средством поиска. finder является объектом slreportgen.finder.SystemDiagramFinder. results является массивом объектов slreportgen.finder.DiagramResult, каждый из которых содержит блок-схему, найденную этим методом. Добавление массива к отчету или генератору отчетов добавляет изображения всех блок-схем, которые это содержит. Отчеты, в которые можно добавить results этого метода, являются отчетами типа slreportgen.report.Report или другой объект генератора отчетов, такими как генератор отчетов slreportgen.report.Chapter.

tf = hasNext(finder) определяет, если контейнер, что поисковые запросы средства поиска содержат по крайней мере одну схему. Если контейнер имеет по крайней мере одну схему, очереди метода hasNext, которые схематически изображают как следующая схема, которую возвратит метод next. Метод hasNext затем возвращает true. Используйте метод next, чтобы получить ту схему. На последующих вызовах метод hasNext определяет, имеет ли контейнер схему, которую еще не получил next. Это ставит схему в очередь для метода next, чтобы получить и возвращает true. Если больше нет схем, которые будут получены, этот метод возвращает false. Чтобы прогрессивно искать контейнер схемы, используйте метод hasNext с методом next в некоторое время цикле.

Примечание

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

result = next(finder) возвращает следующий поисковый result в очереди результата, которую создал метод hasNext. Результат поиска содержит получившуюся схему. Добавление этого объекта result к отчету или генератору отчетов добавляет генератор отчетов Схемы для схемы.

Копировать семантику

Указатель. Чтобы изучить, как классы Handle влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Примеры

Найдите блок-схемы

Создайте отчет, который находит блок-схемы в модели sf_car.

import mlreportgen.report.*
import slreportgen.report.*
import slreportgen.finder.*
model_name = 'sf_car';
load_system(model_name);

rpt = slreportgen.report.Report('output','pdf');
add(rpt, TitlePage('Title', sprintf('%s Systems',...
     model_name)));
add(rpt,TableOfContents);
finder = SystemDiagramFinder(model_name); 
results = find(finder);
for result = results
     chapter = Chapter('Title',result.Name);
     add(chapter,result);
     add(rpt,chapter);
end

close(rpt);
close_system(model_name);
rptview(rpt);

Введенный в R2017b