API Отчета обеспечивает несколько способов сообщить относительно Simulink о блоках MATLAB Function и Stateflow® MATLAB® функции. Чтобы сообщить подробную информацию, используйте slreportgen.report.MATLABFunction
генератор отчетов. Этот генератор отчетов сообщает о свойствах, аргументах, функциональном коде, функциональных символах и поддерживающих функциях.
Другие способы сообщить относительно блоков MATLAB Function или функций MATLAB Stateflow при помощи SimulinkObjectProperties
или StateflowObjectProperties
генератор отчетов, соответственно. Эти генераторы отчетов, однако, не обеспечивают функциональное форматирование кода или сообщают о функциональных символах, поддерживая функции или аргументы. Используйте эти генераторы отчетов, если вы хотите только информацию о свойстве.
API Отчета обеспечивает средства поиска для нахождения блоков и элементов Stateflow, включая функции MATLAB, в модели или графике. Этими средствами поиска является BlockFinder
, DiagramElementFinder
, и StateflowDiagramElementFinder
.
Эти примеры показывают, как использовать средство поиска в вашей программе генератора отчетов. Для случаев, где вы знаете указатель или путь к функции MATLAB, вы не должны использовать средство поиска (см. slreportgen.report.MATLABFunction
для примеров).
Используйте средства поиска API Отчета и slreportgen.report.MATLABFunction
генератор отчетов, чтобы сообщить относительно блоков MATLAB Function.
Используйте BlockFinder
найти все блоки типа SubSystem, который включает блоки MATLAB Function. Если вы ищете все типы блока, BlockFinder может занять больше времени, чтобы возвратить результаты, чем если бы вы ограничиваете поиск типами блока Subsystem.
blkfinder = slreportgen.finder.BlockFinder(model_name); blkfinder.BlockTypes = "SubSystem"; blks = find(blkfinder);
Затем цикл через возвращенные блоки Subsystem, чтобы протестировать, является ли блок блоком MATLAB Function. Создайте MATLABFunction
генератор отчетов для каждого блока MATLAB Function, набор желал свойств, и добавьте каждый результат в отчет.
for i=1:length(blks) block = blks(i).Object; if slreportgen.utils.isMATLABFunction(block) rptr = MATLABFunction(block); rptr.IncludeArgumentProperties = true; add(rpt,rptr); end end
Этот код является примером программы генератора отчетов, которая находит и сообщает о блоках MATLAB Function.
import slreportgen.report.* import slreportgen.finder.* model_name = 'sldemo_eml_galaxy'; load_system(model_name); rpt = slreportgen.report.Report; blkfinder = BlockFinder(model_name); blkfinder.BlockTypes = "SubSystem"; blks = find(blkfinder); for i=1:length(blks) block = blks(i).Object; if slreportgen.utils.isMATLABFunction(block) rptr = MATLABFunction(block); rptr.IncludeArgumentProperties = true; add(rpt,rptr); end end close(rpt); close_system(model_name); rptview(rpt);
Это изображение показывает раздел отчета выход для одного из блоков MATLAB function. Это показывает таблицу свойств блока, сводную таблицу для одного из аргументов и фрагмента функционального скрипта. В фактическом выходе все таблицы аргумента появляются перед функциональным скриптом.
Используйте StateflowDiagramElementFinder
и slreportgen.report.MATLABFunction
генератор отчетов, чтобы найти и сообщить относительно функций MATLAB Stateflow.
elemfinder = StateflowDiagramElementFinder(chart_name); elemfinder.Types = "emfunction"; elems = find(elemfinder);
Затем цикл через возвращенные функции MATLAB. Создайте MATLABFunction
генератор отчетов для каждой функции MATLAB и добавляет его в отчет.
for i = 1:length(elems) rptr = MATLABFunction(elems(i).Object); add(rpt,rptr); end
Этот код является примером программы генератора отчетов, которая находит и сообщает о функциях MATLAB в диаграммах Stateflow.
import slreportgen.report.* import slreportgen.finder.* model_name = 'sf_server'; openExample(model_name); chart_name = 'sf_server/transmitter'; rpt = slreportgen.report.Report; elemfinder = StateflowDiagramElementFinder(chart_name); elemfinder.Types = "emfunction"; elems = find(elemfinder); for i = 1:length(elems) rptr = MATLABFunction(elems(i).Object); add(rpt,rptr); end close(rpt); close_system(model_name); rptview(rpt);
Это изображение показывает раздел отчета выход для одного из блоков MATLAB function. Это показывает таблицу свойств объектов и фрагмент функционального скрипта.
Можно настроить выход генератора отчетов функции MATLAB таким же образом, что вы настраиваете любой отчет или генератор отчетов:
Используйте классы DOM — Задают форматы с помощью классов DOM, таких как mlreportgen.dom.Paragraph
, и используйте их в своей программе. Например, это кодовые наборы внешний вид функционального скрипта.
rptr = slreportgen.report.MATLABFunction; paraScript = mlreportgen.dom.Paragraph; paraScript.FontFamilyName = 'Arial'; paraScript.FontSize = '12pt'; paraScript.Color = 'blue'; rptr.FunctionScript = paraScript;
Отредактируйте копию шаблона по умолчанию — преимущество сохранения индивидуальных настроек в новом шаблоне состоит в том, что можно легко снова использовать те индивидуальные настройки при помощи того шаблона для другой программы генератора отчетов шаблон и таблицы стилей для MATLABFunction
генератор отчетов расположен в matlab\toolbox\shared\slreportgen\rpt\rpt\+slreportgen\+report\@MATLABFunction\resources\templates
папка.
Этот пример показывает шаги для копирования и редактирования MATLABFunction
шаблон HTML генератора отчетов.
Создайте копию шаблона HTML по умолчанию. В этом примере пакет шаблона сохранен как myHTMLTemplate.htmtx
в текущей рабочей папке.
mfunction = slreportgen.report.MATLABFunction; mfunction.createTemplate('myHTMLTemplate','html');
Разархивируйте пакет шаблона. Разархивированный пакет шаблона является папкой документа, таблицы стилей и файлов изображений. В этом примере папка пакета шаблона сохранена в текущую рабочую папку.
unzipTemplate('myHTMLTemplate.htmtx');
От stylesheets
папка, откройте root.css
файл в текстовом редакторе. root.css
файл содержит стили по умолчанию для MATLABFunction
генератор отчетов. Начало файла и первого стиля:
/******************************************************************
* генератор отчетов MATLABFunction
******************************************************************/
/* Стиль по умолчанию для заголовка скрипта функции MATLAB */
.MATLABFunctionFunctionScriptTitle {
семейство шрифтов: 'Ното Без', 'Ното Без JP CJK', 'Ното Без SC CJK', 'Ното Без криптона CJK';
fontWeight : полужирный;
граничная верхняя часть: 10 ПБ;
цвет: черный;
пробел: пред;
}
Отредактируйте стили, как желаемый. В этом примере верхнее поле выше функционального заголовка скрипта увеличено до 20 точек и цвета заголовка на синий.
/******************************************************************
Генератор отчетов MATLABFunction
******************************************************************/
/* Стиль по умолчанию для заголовка скрипта функции MATLAB */
.MATLABFunctionFunctionScriptTitle {
семейство шрифтов: 'Ното Без', 'Ното Без JP CJK', 'Ното Без SC CJK', 'Ното Без криптона CJK';
fontWeight : полужирный;
граничная верхняя часть: 12 ПБ;
цвет: синий;
пробел: пред;
}
Сохраните файл.
Архивируйте папку шаблона в пакет шаблона. В данном примере пакетом шаблона является myHTMLTemplate.htmtx
.
zipTemplate('myHTMLTemplate');
В вашей программе генератора отчетов, чтобы использовать сохраненный шаблон, задают источник шаблона.
mfunction.TemplateSrc = 'myHTMLTemplate';
Смотрите Шаблоны для Программ Отчета API DOM для получения дополнительной информации.
slreportgen.report.MATLABFunction
| MATLAB Function | slreportgen.finder.BlockFinder
| slreportgen.finder.DiagramElementFinder
| slreportgen.finder.StateflowDiagramElementFinder
| zipTemplate
| unzipTemplate