Пакет: 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