Пакет: slreportgen.report
Суперклассы: slreportgen.report.Reporter
Генератор отчетов блока интерполяционной таблицы
Создайте генератор отчетов блока интерполяционной таблицы Simulink®. Смотрите Свойство объекта для списка поддерживаемых блоков.
Примечание
Использовать LookupTable
генератор отчетов в отчете, необходимо создать отчет с помощью slreportgen.report.Report
класс.
создает пустой rptr
= LookupTable()LookupTable
блокируйте генератор отчетов на основе шаблона по умолчанию. Используйте его свойства задать блок интерполяционной таблицы, на котором можно сообщить и задать опции отчета.
создает rptr
= LookupTable(lutobj
)LookupTable
блокируйте генератор отчетов для блока интерполяционной таблицы, заданного lutobj
. По умолчанию генератор отчетов генерирует таблицу и график выходных значений по сравнению с точками останова и таблицу типов данных.
наборы rptr
= LookupTable(Name,Value
)LookupTable
свойства генератора отчетов с помощью пар "имя-значение". Можно задать несколько аргументов пары "имя-значение" в любом порядке. Заключите каждое имя свойства в одинарные или двойные кавычки.
createTemplate | Создайте шаблон генератора отчетов блока интерполяционной таблицы Simulink |
customizeReporter | Создайте пользовательский класс генератора отчетов LookupTable |
getClassFolder | Расположение файла определения класса генератора отчетов Интерполяционной таблицы |
Создайте генератор отчетов PDF, который сообщает относительно блока интерполяционной таблицы. Этот пример использует slrgex_sf_car
модель и отчеты относительно ее engine torque
Блок Lookup Table (n-D) . Этот блок является двумерной интерполяционной таблицей. 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) . Этот блок является 1D интерполяционной таблицей и находится в 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
генератор отчетов, чтобы сообщить информацию о блоке. Для других блоков сгенерированный отчет сообщает относительно свойств блока, которые являются результатами 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.
Пятая глава показывает выход по умолчанию для генератора отчетов блока Lookup Table. Выход по умолчанию является таблицей выходных значений по сравнению с таблицей точек останова, графиком и таблицей типов данных.
В этом примере показано, как добавить фиксированное содержимое в индивидуально настраиваемый HTML LookupTable
шаблон генератора отчетов. Можно также настроить отчет интерполяционной таблицы, выведенный, отредактировав программу генератора отчетов напрямую. Преимущество настройки шаблона состоит в том, что можно снова использовать ее как базис для настройки другой программы генератора отчетов.
Шаблон и таблицы стилей для LookupTable
генератор отчетов расположен в matlab\toolbox\shared\slreportgen\rpt\rpt\+slreportgen\+report\@LookupTable\resources\templates
папка. Вы не должны задавать этот путь, когда вы копируете шаблон по умолчанию.
Создайте копию шаблона HTML по умолчанию. В этом примере пакет шаблона сохранен как заархивированный файл с именем CustomTemplate.htmtx
в текущей рабочей папке.
import mlreportgen.report.* import slreportgen.report.* LookupTable.createTemplate('CustomTemplate','html');
Разархивируйте пакет шаблона.
unzipTemplate('CustomTemplate.htmtx');
Разархивированный пакет шаблона является папкой документа, таблицы стилей и файлов изображений. В этом примере разархивированную папку файлов называют "CustomTemplate" и сохранена в текущей рабочей папке. root.css
файл, который находится в подпапке таблиц стилей, задает стили, которые управляют внешним видом и форматированием сгенерированного отчета. 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 архивируйте папку шаблона в пакет шаблона. В данном примере пакет шаблона заархивирован к 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