Пакет: slreportgen.finder
Суперклассы:
Поиск состояний Stateflow
Находит Stateflow® состояния.
создает средство поиска, которое по умолчанию находит все незащищенные состояния Stateflow на указанном графике finder
= StateFinder(diagram
)diagram
. Чтобы ограничить поиск определенными типами графика схем, используйте свойства этого искателя.
Примечание
Этот поисковик предоставляет два способа получить результаты поиска:
Чтобы вернуть результаты поиска в виде массива, используйте find
способ. Добавьте результаты непосредственно к отчету или обработайте результаты в for
цикл.
Чтобы повторить результаты по одному, используйте hasNext
и next
методы в while
цикл.
Опция не имеет преимущества эффективности.
устанавливает свойства с помощью пар "имя-значение". Можно задать несколько аргументы пары "имя-значение" в любом порядке. Заключайте каждое имя свойства в одинарные кавычки.finder
= StateFinder(Name,Value
)
находит состояния на графике results
= find(finder)diagram
определяется поиском. Этот метод возвращает состояния, которые он находит обернутыми в объекты результата типа slreportgen.finder.DiagramElementResult
. Чтобы добавить таблицы свойств состояний, добавьте объекты результатов непосредственно к отчету или добавьте их к репортеру, который вы затем добавляете к отчету. Отчеты, в которые можно добавить 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.DiagramElementResult
. Чтобы добавить таблицы свойств состояний, добавьте объекты результатов непосредственно к отчету или добавьте их к репортеру, который вы затем добавляете к отчету. Отчеты, в которые можно добавить results
этого метода должен быть типа slreportgen.report.Report
.
Указатель. Чтобы узнать, как классы handle влияют на операции копирования, см. раздел «Копирование объектов».
Создайте отчет, который включает свойства всех состояний Stateflow в shift_logic
график 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"); open(rpt) add(rpt, TitlePage("Title",... sprintf('States in %s Model',model_name))); add(rpt, TableOfContents); chartFinder = ChartDiagramFinder(model_name); charts = find(chartFinder); while hasNext(chartFinder) diagram = next(chartFinder); stFinder = StateFinder(diagram.Object); states = find(stFinder); if ~isempty(states) chapter = Chapter("Title",diagram.Name); add(chapter,diagram) for state = states sect = Section("Title","States"); add(sect,states) end add(chapter,sect) add(rpt,chapter) end end close(rpt) close_system(model_name) rptview(rpt)
slreportgen.finder.ChartDiagramFinder
| slreportgen.finder.DiagramElementFinder
| slreportgen.finder.DiagramElementResult
| slreportgen.finder.StateflowDiagramElementFinder
| slreportgen.report.Report
| slreportgen.report.StateflowObjectProperties