Пакет: slreportgen.finder
Суперклассы:
Найти блоки Simulink
Находит блоки в Simulink® схема.
создает средство поиска, которое по умолчанию находит все типы блоков в заданной Диаграмме Simulink. Чтобы ограничить поиск определенными типами блоков, используйте свойства искателя. finder = BlockFinder(diagram)
Примечание
Этот поисковик предоставляет два способа получить результаты поиска:
Чтобы вернуть результаты поиска в виде массива, используйте find способ. Добавьте результаты непосредственно к отчету или обработайте результаты в for цикл.
Чтобы повторить результаты по одному, используйте hasNext и next методы в while цикл.
Опция не имеет преимущества эффективности.
устанавливает свойства с помощью пар "имя-значение". Можно задать несколько аргументы пары "имя-значение" в любом порядке. Заключайте каждое имя свойства в одинарные кавычки.finder = BlockFinder(Name,Value)
results = find(finder) находит блоки в diagram определяется поиском. Этот метод возвращает блоки, которые он находит завернутыми в объекты результата типа slreportgen.finder.BlockResult. Чтобы добавить таблицы свойств блоков, добавьте объекты результатов непосредственно в отчет или добавьте их к репортеру, который затем вы добавляете в отчет. Отчеты, в которые можно добавить results этого метода должны быть отчеты типа slreportgen.report.Report
tf = hasNext(finder) определяет, содержит ли схема, которую ищет поисковик, по крайней мере, один блок. Если схема имеет хотя бы один блок, hasNext очереди методов, которые блокируют как следующий блок, который next метод вернется. The hasNext затем метод возвращает true. Используйте next способ получения этого блока. При последующих вызовах hasNext метод определяет, имеет ли схема блок, который next метод еще не получен. Он ставит блок в очередь для next метод для извлечения и возвратов true. Если больше нет блоков, которые нужно извлечь, этот метод возвращается false. Чтобы постепенно искать блоки в схеме, используйте hasNext метод с next метод в цикле while.
result = next(finder) возвращает следующую result поиска в очереди результатов, которую hasNext создан метод. Этот метод возвращает блок, который он находит упакованным в объект результата типа slreportgen.finder.BlockResult. Чтобы добавить таблицы свойств блоков, добавьте объект результата к отчету непосредственно или добавьте его к репортеру, который вы затем добавили к отчету. Отчеты, в которые можно добавить results этого метода должен быть типа slreportgen.report.Report.
Указатель. Чтобы узнать, как классы handle влияют на операции копирования, см. раздел «Копирование объектов».
Поиск блоков Inport и Output в 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('I/O Blocks in %s Model',model_name)));
add(rpt,TableOfContents);
diagFinder = SystemDiagramFinder(model_name);
diagFinder.IncludeRoot = false;
while hasNext(diagFinder)
diagram = next(diagFinder);
chapter = Chapter("Title",diagram.Name);
add(chapter,diagram)
sect = Section("Title","Inport Blocks");
ioFinder = BlockFinder(diagram.Object);
ioFinder.BlockTypes = "Inport";
blocks = find(ioFinder);
for block = blocks
add(sect,block)
end
add(chapter,sect);
sect = Section("Title","Outport Blocks");
ioFinder = BlockFinder(diagram.Object);
ioFinder.BlockTypes = "Outport";
outblocks = find(ioFinder);
for block = outblocks
add(sect,block)
end
add(chapter,sect)
add(rpt,chapter)
end
close(rpt)
close_system(model_name)
rptview(rpt)slreportgen.finder.BlockResult | slreportgen.finder.DiagramElementFinder | slreportgen.finder.DiagramFinder | slreportgen.finder.SystemDiagramFinder | slreportgen.report.Diagram | slreportgen.report.Report | slreportgen.report.SimulinkObjectProperties | slreportgen.report.SimulinkObjectProperties