Сообщите относительно функции MATLAB

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 для примеров).

Найдите и сообщите относительно блоков MATLAB function

Используйте средства поиска 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. Это показывает таблицу свойств блока, сводную таблицу для одного из аргументов и фрагмента функционального скрипта. В фактическом выходе все таблицы аргумента появляются перед функциональным скриптом.

Найдите и сообщите относительно функций MATLAB Stateflow

Используйте 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';
load_system(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 Выход

Можно настроить выход генератора отчетов функции 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 генератора отчетов.

    1. Создайте копию шаблона HTML по умолчанию. В этом примере пакет шаблона сохранен как myHTMLTemplate.htmtx в текущей рабочей папке.

      mfunction = slreportgen.report.MATLABFunction;
      mfunction.createTemplate('myHTMLTemplate','html');

    2. Разархивируйте пакет шаблона. Разархивированный пакет шаблона является папкой документа, таблицы стилей и файлов изображений. В этом примере папка пакета шаблона сохранена в текущую рабочую папку.

      unzipTemplate('myHTMLTemplate.htmtx');
    3. От stylesheets папка, откройте root.css файл в текстовом редакторе. root.css файл содержит стили по умолчанию для MATLABFunction генератор отчетов. Начало файла и первого стиля:

      /******************************************************************

      * генератор отчетов MATLABFunction

      ******************************************************************/

      /* Стиль по умолчанию для заголовка скрипта функции MATLAB */

      .MATLABFunctionFunctionScriptTitle {

      семейство шрифтов: 'Ното Без', 'Ното Без JP CJK', 'Ното Без SC CJK', 'Ното Без криптона CJK';

      fontWeight : полужирный;

      граничная верхняя часть: 10 ПБ;

      цвет: черный;

      пробел: пред;

      }

    4. Отредактируйте стили, как желаемый. В этом примере верхнее поле выше функционального заголовка скрипта увеличено до 20 точек и цвета заголовка на синий.

      /******************************************************************

      Генератор отчетов MATLABFunction

      ******************************************************************/

      /* Стиль по умолчанию для заголовка скрипта функции MATLAB */

      .MATLABFunctionFunctionScriptTitle {

      семейство шрифтов: 'Ното Без', 'Ното Без JP CJK', 'Ното Без SC CJK', 'Ното Без криптона CJK';

      fontWeight : полужирный;

      граничная верхняя часть: 12 ПБ;

      цвет: синий;

      пробел: пред;

      }

    5. Сохраните файл.

    6. Архивируйте папку шаблона в пакет шаблона. В данном примере пакетом шаблона является myHTMLTemplate.htmtx.

      zipTemplate('myHTMLTemplate');

    7. В вашей программе генератора отчетов, чтобы использовать сохраненный шаблон, задают источник шаблона.

      mfunction.TemplateSrc = 'myHTMLTemplate';

    Смотрите Шаблоны для Программ Отчета API DOM (MATLAB Report Generator) для получения дополнительной информации.

Смотрите также

| | | | | |