Пакет: slreportgen.report
Суперклассы: slreportgen.report.Reporter
Репортер блока интерполяционной таблицы
Создайте Simulink® репортер блока интерполяционной таблицы. Список поддерживаемых блоков см. в свойстве Object.
Примечание
Как использовать LookupTable репортер в отчете, вы должны создать отчет с помощью slreportgen.report.Report класс.
создает пустой rptr = LookupTable()LookupTable блок reporter на основе шаблона по умолчанию. Используйте его свойства, чтобы задать блок интерполяционной таблицы, на котором нужно сообщить, и задать опции отчета.
создает rptr = LookupTable(lutobj)LookupTable блок reporter для блока интерполяционной таблицы, заданный как lutobj. По умолчанию reporter генерирует таблицу и график выхода значений от точек по оси Х, и таблицу типов данных.
устанавливает rptr = LookupTable(Name,Value)LookupTable свойства reporter с использованием пар "имя-значение". Можно задать несколько аргументы пары "имя-значение" в любом порядке. Заключайте каждое имя свойства в одинарные или двойные кавычки.
| createTemplate | Создайте шаблон репортера интерполяционной таблицы Simulink |
| customizeReporter | Создайте пользовательский класс LookupTable reporter |
| getClassFolder | Расположение файла определения класса интерполяционной таблицы |
Создайте генератор отчета PDF, который сообщит о блоке интерполяционной таблицы. Этот пример использует slrgex_sf_car модель и отчеты о ее engine torque
Lookup Table (n-D) блок. Этот блок является двумерной интерполяционной таблицей. The engine torque блок находится в Engine подсистема slrgex_sf_car модель. Отчет по умолчанию включает таблицу выхода значений от точек по оси Х, объемной поверхностной диаграмме, таблицу блока типов данных и отмечает возможные различия между сообщаемыми значениями и значениями, полученными из симуляции.
import slreportgen.report.* import mlreportgen.report.* model_name = 'slrgex_sf_car'; load_system(model_name); lutable = 'slrgex_sf_car/Engine/engine torque'; rpt = slreportgen.report.Report('output','pdf'); chapter = Chapter(lutable); rptr = LookupTable(lutable); add(chapter,rptr); add(rpt,chapter); close(rpt); close_system(model_name); rptview(rpt)


Создайте генератор отчета PDF, который задает высоту и ширину графика, возвращенные LookupTable репортер. Этот пример использует slrgex_sf_car модель и отчеты о ее Torque ratio
Lookup Table (n-D) блок. Этот блок является 1-D интерполяционной таблицей и находится в transmission/Torque Converter подсистема slrgex_sf_car модель. Чтобы задать высоту и ширину графика, используйте PlotReporter свойство.
import slreportgen.report.* import mlreportgen.report.* model_name = 'slrgex_sf_car'; load_system(model_name); lutable = 'slrgex_sf_car/transmission/Torque Converter/Torque ratio'; rpt = slreportgen.report.Report('output','pdf'); chapter = Chapter(lutable); rptr = LookupTable(lutable); rptr.IncludeTable = false; add(chapter,rptr); rptr_resized = LookupTable(lutable); rptr_resized.IncludeTable = false; rptr_resized.PlotReporter.Snapshot.Width = '3in'; rptr_resized.PlotReporter.Snapshot.Height = '4in'; add(chapter,rptr_resized); add(rpt,chapter); close(rpt) ; close_system(model_name) rptview(rpt);
График по умолчанию на первой странице отчета использует предопределенное определение размеров для соответствия графика размеру страницы.

Измененный размер графика на второй странице отчета использует указанные 3 «ширина и 4» высота.

Создайте генератор отчета PDF, который находит все блоки в Engine подсистема slrgex_sf_car модель. Затем программа генератора отчетов зацикливается через блоки и проверяет, является ли блок блоком интерполяционной таблицы. Для блоков интерполяционной таблицы он использует LookupTable reporter, чтобы сообщить информацию о блоке. Для других блоков сгенерированный отчет сообщает о свойствах блоков, которые являются результатами BlockFinder класс.
import slreportgen.report.* import slreportgen.finder.* model_name = 'slrgex_sf_car'; load_system(model_name) subsys_name = 'slrgex_sf_car/Engine'; rpt = slreportgen.report.Report; blkfinder = BlockFinder(subsys_name); blks = find(blkfinder); for i=1:length(blks) if slreportgen.utils.isLookupTable(blks(i).Object) rptr = LookupTable(blks(i).Object); ch = Chapter(blks(i).Name); add(ch,rptr); add(rpt,ch); else ch = Chapter(blks(i).Name); add(ch,blks(i)); add(rpt,ch); end end close(rpt); close_system(model_name); rptview(rpt);
В первой главе показаны свойства по умолчанию, сообщенные для блока Inport.

В пятой главе показаны выходы по умолчанию для репортера блока интерполяционной таблицы. По умолчанию выход является таблицей значений выхода от таблицы точек по оси Х, графиком и таблицей типов данных.


В этом примере показано, как добавить фиксированное содержимое к настраиваемому HTML- LookupTable шаблон репортера. Можно также настроить вывод отчета интерполяционной таблицы путем непосредственного редактирования программы генератора отчетов. Преимущество настройки шаблона состоит в том, что его можно повторно использовать в качестве базиса для настройки другой программы генератора отчетов.
Шаблон и таблицы стилей для LookupTable репортер расположены в matlab\toolbox\shared\slreportgen\rpt\rpt\+slreportgen\+report\@LookupTable\resources\templates папка. Вам не нужно указывать этот путь при копировании шаблона по умолчанию.
Создайте копию шаблона HTML по умолчанию. В этом примере пакет шаблона сохраняется как zipped-файл с именем CustomTemplate.htmtx в текущей рабочей папке.
import mlreportgen.report.*
import slreportgen.report.*
LookupTable.createTemplate('CustomTemplate','html');
Разархивируйте пакет шаблона.
unzipTemplate('CustomTemplate.htmtx');Пакет разархивированного шаблона представляет собой папку с файлами документов, таблиц стилей и изображений. В этом примере разархивированная папка файлов называется «CustomTemplate» и сохраняется в текущей рабочей папке. The root.css файл, находящийся в подпапке таблиц стилей, задает стили, которые управляют внешним видом и форматированием сгенерированного отчета. The docpart_templates.html файл задает отверстия, в которых содержится содержимое отчета при создании отчета.
Из CustomTemplate папка, откройте docpart_templates.html файл в текстовом редакторе за пределами MATLAB.
<html>
<head>
<meta charset="utf-8" />
<title>Document Part Templates</title>
<link rel="StyleSheet" href="./stylesheets/root.css" type="text/css" />
</head> <body>
<dplibrary>
<!-- NOTE: temporary in the template library until the -->
<! DOM supports a source without template name -->
<dptemplate name="LookupTable">
<hole id="Content">LUT_CONTENT</hole>
<hole id="LUTDataTypes">DATA_TYPE</hole>
<hole id="FootNoteContent">LUT_FOOTNOTE_CONTENT</hole>
</dptemplate>
<dptemplate name="LookupTableContent">
<hole id="TableContent">TABLECONTENT</hole>
<hole id="FigureContent">FIGURECONTENT</hole>
</dptemplate>
</dplibrary>
</body>
</html>Чтобы добавить фиксированный текст к шаблону, поместите его в нужное место и используйте стандартную разметку HTML. Этот пример добавляет текст, который появляется над таблицей типов данных в сгенерированном отчете. Только <dptemplate name="LookupTable"> показана часть файла.
<dptemplate name="LookupTable">
<hole id="Content">LUT_CONTENT</hole>
<p><scan>This lookup table block contains the following
data types:</scan></p>
<hole id="LUTDataTypes">DATA_TYPE</hole>
<hole id="FootNoteContent">LUT_FOOTNOTE_CONTENT</hole>
</dptemplate>
Сохраните файл.
В командной строке MATLAB заархивируйте папку шаблона в пакет шаблона. В данном примере пакет шаблона zipped в CustomTemplate.htmtx файл.
zipTemplate('CustomTemplate');Чтобы использовать сохраненный шаблон для отчета, укажите источник шаблона в программе генератора отчетов.
lutable = LookupTable(); lutable.TemplateSrc = 'CustomTemplate';
mlreportgen.report.BaseTable | mlreportgen.report.Figure | slreportgen.finder.BlockFinder | slreportgen.finder.BlockResult | slreportgen.finder.DiagramElementFinder | slreportgen.finder.DiagramElementResult | slreportgen.utils.isLookupTable