Пакет: slreportgen.finder
Суперклассы:
Найдите блоки Simulink
Находит блоки в Simulink® схема.
создает средство поиска, которое находит по умолчанию все типы блоков в заданной Диаграмме Simulink. Чтобы ограничить поиск к определенным типам блоков, используйте свойства средства поиска. finder
= BlockFinder(diagram
)
Примечание
Это средство поиска обеспечивает два способа получить результаты поиска:
Чтобы возвратить результаты поиска как массив, используйте find
метод. Добавьте результаты непосредственно в отчет или обработайте результаты в a for
цикл.
Чтобы выполнить итерации через результаты по одному, используйте hasNext
и next
методы в a while
цикл.
Никакая опция не имеет преимущество эффективности.
свойства наборов с помощью пар "имя-значение". Можно задать несколько аргументов пары "имя-значение" в любом порядке. Заключите каждое имя свойства в одинарные кавычки.finder
= BlockFinder(Name,Value
)
results = find(finder)
находит блоки в diagram
заданный средством поиска. Этот метод возвращает блоки, которые он находит перенесенным в объекты результата типа slreportgen.finder.BlockResult
. Чтобы добавить таблицы свойств блока, добавьте объекты результатов непосредственно в отчет или добавьте их в генератор отчетов, который вы затем добавляете в отчет. Отчеты, в которые можно добавить results
из этого метода должен иметь отчеты типа slreportgen.report.Report
tf = hasNext(finder)
определяет, если схема, что поисковые запросы средства поиска содержат по крайней мере один блок. Если схема имеет по крайней мере один блок, hasNext
очереди метода, которые блокируются как следующий блок что next
метод возвратится. hasNext
метод затем возвращает true
. Используйте next
метод, чтобы получить тот блок. На последующих вызовах, hasNext
метод определяет, имеет ли схема блок что next
метод еще не получил. Это ставит блок в очередь для next
метод, чтобы получить и возвращает true
. Если больше нет блоков, которые будут получены, этот метод возвращает false
. Чтобы прогрессивно искать схему блоки, используйте hasNext
метод с next
метод в некоторое время цикле.
result = next(finder)
возвращает следующий поисковый result
в очереди результата, что hasNext
метод создается. Этот метод возвращает блок, который он находит перенесенным в объект результата типа slreportgen.finder.BlockResult
. Чтобы добавить таблицы свойств блока, добавьте объект результата в отчет непосредственно или добавьте его в генератор отчетов, который вы затем добавляете в отчет. Отчеты, в которые можно добавить results
из этого метода должен иметь тип slreportgen.report.Report
.
Указатель. Чтобы узнать, как классы Handle влияют на операции копирования, см. раздел "Копирование объектов".
Найдите блоки Inport и Выхода в 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.report.Report
| slreportgen.finder.DiagramFinder
| slreportgen.finder.DiagramElementFinder
| slreportgen.finder.SystemDiagramFinder
| slreportgen.report.SimulinkObjectProperties
| slreportgen.report.Diagram
| slreportgen.report.SimulinkObjectProperties
| slreportgen.finder.BlockResult