Пакет: slreportgen.finder
Суперклассы:
Создать поисковик блок-схем
Создание поиска блок-схем Simulink ®.
создает поисковик, который по умолчанию находит все некомментированные блок-схемы Simulink в указанном контейнере, который может быть моделью или подсистемой Simulink. Чтобы ограничить поиск определенными типами моделей или подсистем, используйте свойства поисковика. finder = SystemDiagramFinder(container)
Примечание
Этот поисковик может работать в режиме поиска или итератора. В режиме поиска используйте его find для возврата результатов поиска в виде массива результатов. В режиме итератора используйте его hasNext и next для возврата результатов поиска один за другим. При поиске в моделях с большим количеством привязок модели используйте режим итератора. Режим итератора закрывает модель после компиляции и поиска, в то время как режим поиска сохраняет все модели, которые она ищет, открытыми. Наличие множества открытых моделей может потреблять всю системную память и замедлять формирование отчетов. Режим итератора медленнее, чем режим поиска, поэтому используйте режим поиска для поиска моделей, которые ссылаются на несколько других моделей или не ссылаются на них.
задает свойства, используя пары имя-значение. Можно указать несколько аргументов пары имя-значение в любом порядке. Заключите каждое имя свойства в отдельные кавычки.finder = SystemDiagramFinder(Name,Value)
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);
slreportgen.finder.DiagramElementFinder | slreportgen.finder.DiagramFinder | slreportgen.finder.DiagramResult | slreportgen.report.Diagram | slreportgen.report.Report | slreportgen.report.SimulinkObjectProperties