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