exponenta event banner

slreportgen.finder.SystemDiplicedFinder класс

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

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

Описание

Создание поиска блок-схем Simulink ®.

Строительство

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

Примечание

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

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

Входные аргументы

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

См. раздел Свойство контейнера.

Свойства

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

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

  • Дескриптор модели или подсистемы Simulink

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

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

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

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

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

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

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

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

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

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

  • 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 метод в цикле while.

Примечание

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

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

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

Ручка. Сведения о том, как классы обработки влияют на операции копирования, см. в разделе Копирование объектов.

Примеры

Поиск блок-схем

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

import mlreportgen.report.*
import slreportgen.report.*
import slreportgen.finder.*
model_name = 'slrgex_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