Пакет: slreportgen.report
Суперклассы: slreportgen.report.Reporter
Модельный репортер переменных
Репортер для переменной модели Simulink ® .
Примечание
Использование slreportgen.report.ModelVariable reporter в отчете, необходимо создать отчет с помощью slreportgen.report.Report класс или подкласс.
slreportgen.report.ModelVariable класс является handle класс.
Вы не создаете slreportgen.report.ModelVariable явно. Чтобы получить slreportgen.report.ModelVariable объект для найденной переменной модели:
Используйте find или next способ slreportgen.finder.ModelVariableFinder объект для получения slreportgen.finder.ModelVariableResult для найденной переменной.
Позвоните в getReporter способ slreportgen.finder.ModelVariableResult объект для получения slreportgen.report.ModelVariable объект.
Можно настроить отчеты переменной модели, задав свойства slreportgen.report.ModelVariable объект.
Variable — Simulink.VariableUsage объектSimulink.VariableUsage Simulink.VariableUsage объект, соответствующий переменной для отчета. Объект содержит имя переменной, источник переменной и блоки, использующие переменную. Это свойство доступно только для чтения.
ModelBlockPath - путь к блоку модели, задающему значение переменной;[] | символьный векторПуть к блоку «Модель», задающему значение переменной, определяемое как символьный вектор.
Предположим, что ссылочная модель использует аргумент модели для задания значения параметра блока. Если модель имеет несколько экземпляров ссылочной модели, средство поиска переменных модели возвращает несколько экземпляров переменной, связанной с аргументом модели. ModelBlockPath свойство уникально идентифицирует экземпляр переменной, предоставляя путь к блоку модели, который устанавливает его значение. Если переменная не связана с аргументом модели в ссылочной модели, ModelBockPath пуст. Дополнительные сведения о ссылочных моделях и специфичных для экземпляра параметрах см. в разделе Параметризация экземпляров повторно используемой ссылочной модели.
ShowUsedBy - Включать ли блоки, использующие эту переменнуюtrue (по умолчанию) | falseВключать ли список блоков, использующих эту переменную, указанный как true или false. Если FormatPolicy свойство имеет значение "Inline Text", список блоков не включен в отчет, независимо от значения ShowUsedBy собственность.
Если отчет включает содержимое, о котором сообщается для блока, в список «Используется», щелчок по гиперссылке на блок приведет к содержимому. См. раздел Создание отчета о переменных модели, диаграммах и блоках.
ShowWorkspaceInfo - Включать ли рабочую область true (по умолчанию) | falseВключить ли рабочую область, в которой разрешена переменная, указанное как true или false. Если FormatPolicy свойство имеет значение "Inline Text", рабочая область не включается в отчет, независимо от значения ShowWorkspaceInfo собственность.
ListFormatter - Средство форматирования спискаmlreportgen.dom.UnorderedList (по умолчанию) | mlreportgen.dom.OrderedListСредство форматирования списка, которое форматирует список блоков, использующих переменную, указанное как mlreportgen.dom.UnorderedList объект или mlreportgen.dom.OrderedList объект. Чтобы настроить форматирование списка, измените свойства объекта списка или замените его настраиваемым объектом списка, не содержащим элементов списка.
FormatPolicy - Формат переменных значений"Auto" (по умолчанию) | "Table" | "Paragraph" | "Inline Text"Формат значений переменных, указанных как одна из следующих строк или векторов символов:
"Auto" - форматирует значения переменных как таблицу или абзац в зависимости от типа данных значения.
Типы данных, отформатированные как таблица, включают:
Массив ячеек
Логический массив
Числовой массив
Таблица MATLAB ®
Объект Simulink
Объект Stateflow ®
Графический объект
Структура или массив структуры MATLAB
Объект или массив объектов MATLAB
Типы данных, отформатированные как абзац, включают:
Клеточный вектор
Логический скаляр или вектор
Числовой скаляр или вектор
Символьный или символьный массив
Последовательность
Вектор структуры MATLAB
Вектор объекта MATLAB
"Table" - форматирует значения переменных в таблице. Переменные, которые по умолчанию отображаются как абзацы, форматируются как записи таблицы. У переменных, которые иерархически структурированы объекты, такой как структуры MATLAB, объекты MATLAB, объекты Симулинка, объекты Стэтефлоу или графические объекты, могут быть свойства, которые являются самостоятельно объектами. В этом случае иерархия распрямляется, и значение свойства отображается как гиперссылка на таблицу свойств этого объекта. Таблица свойств объекта также имеет гиперссылку на исходную таблицу.
"Paragraph" - Форматирование значений переменной как абзаца. Переменные, которые по умолчанию форматируются как таблицы, распрямляются и форматируются как абзац.
"Inline Text" - форматирует переменную в соответствии с окружающим текстом.
TableReporter - Настольный репортер mlreportgen.report.BasetableТабличный репортер, используемый для форматирования значения переменной, указанного как mlreportgen.report.BaseTable объект. Чтобы настроить внешний вид таблицы, измените свойства отчета таблицы по умолчанию или замените его настраиваемым репортером таблицы. При добавлении содержимого в Title свойства по умолчанию или настраиваемого отчета таблицы, содержимое отображается перед заголовком таблицы в созданном отчете.
ParagraphFormatter - Средство форматирования абзацевmlreportgen.dom.Paragraph объектФормататор абзаца для форматирования значения переменной модели, указанного как mlreportgen.dom.Paragraph объект. Чтобы настроить внешний вид абзаца, измените свойства mlreportgen.dom.Paragraph объект или замените его настраиваемым mlreportgen.dom.Paragraph объект. При добавлении содержимого в объект абзаца по умолчанию или замены содержимое появляется перед содержимым переменной в созданном отчете.
TextFormatter - Средство форматирования текстаmlreportgen.dom.Text объектТекстовый форматтер для форматирования имени и значения переменной модели, когда текст соответствует окружающему тексту, заданному как mlreportgen.dom.Text объект. Чтобы настроить внешний вид текста, измените свойства по умолчанию mlreportgen.dom.Text объект или замените его настраиваемым mlreportgen.dom.Text объект. При добавлении содержимого в текстовый объект по умолчанию или вместо него содержимое появляется перед переменным содержимым в созданном отчете.
MaxCols - Максимальное количество отображаемых столбцов таблицыМаксимальное количество отображаемых столбцов таблицы, указанное как положительное целое число. Для переменных массива, сообщаемых с помощью таблицы, если количество столбцов больше значения MaxCols , таблица разделяется по вертикали. При разрезании таблица разделяется на несколько таблиц.
DepthLimit - Максимальное количество вложенных уровней для отчетаМаксимальное количество уровней для отчета переменной, являющейся структурированным объектом или массивом структурированных объектов, указанных как неотрицательное целое число. Уровни, меньшие или равные значению DepthLimit сплющены в последовательность взаимосвязанных таблиц (см. FormatPolicy свойство). Уровни, превышающие предел глубины, не сообщаются. Если установить DepthLimit до 0, структурированные объекты не разворачиваются.
ObjectLimit - Максимальное количество вложенных объектов для отчетаМаксимальное количество объектов в иерархии объектов для отчета, указанное как положительное целое число.
IncludeTitle - Включать ли заголовокtrue (по умолчанию) | falseВключать ли заголовок, указанный как true или false. Заголовок содержит имя переменной и, при необходимости, тип данных. Если IncludeTitle является true, заголовок включен. По умолчанию заголовок включает только имя переменной. Чтобы включить тип данных переменной, установите значение ShowDataType свойство для true.
Title - Название переменной для отчета[] (по умолчанию) | символьный вектор | строковый скаляр | mlreportgen.dom.Text объект | mlreportgen.dom.InternalLink объект | mlreportgen.dom.ExternalLink объектЗаголовок переменной для отчета, указанный как символьный вектор, строковый скаляр, mlreportgen.dom.Text объект, mlreportgen.dom.InternalLink объект, или mlreportgen.dom.ExternalLink объект.
Если FormatPolicy свойство имеет значение "Inline Text" и Title свойство имеет значение:
Объект DOM, форматирование, указанное объектом DOM, игнорируется
Один mlreportgen.dom.InternalLink или mlreportgen.dom.ExternalLink объект, текст ссылки используется для заголовка, но заголовок не является ссылкой
В обоих случаях для форматирования заголовка используйте TextFormatter свойство этого ModelVariable репортер.
Если не указать Title свойство, заголовок - имя переменной.
ShowDataType - Показывать ли тип данных переменной в заголовкеfalse (по умолчанию) | trueПоказывать ли тип данных переменной в заголовке, указанный как true или false.
ShowEmptyValues - Показывать ли свойства с пустыми значениямиtrue (по умолчанию) | falseПоказывать ли свойства с пустыми значениями, указанными как true или false. ShowEmptyValues свойство применяется только к переменным объектов MATLAB, Simulink и Stateflow.
ShowDefaultValues - Показывать ли свойства, использующие значения по умолчаниюtrue (по умолчанию) | 0Показывать ли свойства, использующие значение по умолчанию, указанное как true или false. ShowDefaultValues свойство применяется только к переменным объектов MATLAB, Simulink и Stateflow.
PropertyFilterFcn - Функция или выражение для фильтрации свойств переменной модели, о которой сообщается[] (по умолчанию) | дескриптор функции | строковый скалярный | символьный векторФункция или выражение для фильтрации свойств переменной модели из отчета. Укажите функцию как дескриптор функции. Укажите выражение как строковый скалярный или символьный вектор. Это свойство применяется только к переменной, содержащей объект. Если вы не предоставите PropertyFilterFcnвсе свойства переменной модели включаются в отчет.
Если предоставляется дескриптор функции, связанная функция должна:
Возьмем следующие аргументы:
variableName - имя сообщаемой переменной;
variableObject - Представляемая переменная
propertyName - имя свойства сообщаемой переменной;
Вернуть true для фильтрации указанного свойства из отчета или false для включения свойства в отчет.
Например, этот код предотвращает отображение Description и Complexity свойства Simulink.Parameter объект.
import slreportgen.finder.* import slreportgen.report.* rpt = slreportgen.report.Report('modelvarrpt','pdf'); model_name = load_system('sldemo_mdlref_datamngt'); finder = slreportgen.finder.ModelVariableFinder(model_name); while hasNext(finder) result = next(finder); varRptr = getReporter(result); varRptr.PropertyFilterFcn = @varPropertyFilter; add(rpt,varRptr); end close(rpt); close_system(model_name); rptview(rpt); function tf = varPropertyFilter(~, variableObject,propertyName) if isa(variableObject, 'Simulink.Parameter') tf = (propertyName == "Description") || ... (propertyName == "Complexity"); else tf = false; end end
Если предоставляется строковый скаляр или символьный вектор, он должен содержать выражение. Выражение:
Может использовать переменные variableName, variableObject, и propertyName
Необходимо задать переменную isFiltered кому true для фильтрации указанного свойства из отчета или false включение свойства в отчет
Например, этот код фильтрует CoderInfo свойство Simulink.Parameter объект из отчета.
import slreportgen.finder.* import slreportgen.report.* rpt = slreportgen.report.Report('modelvarrpt','pdf'); model_name = load_system('sldemo_mdlref_datamngt'); finder = slreportgen.finder.ModelVariableFinder(model_name); while hasNext(finder) result = next(finder); varRptr = getReporter(result); varRptr.PropertyFilterFcn = "isFiltered = " + ... "isa(variableObject, 'Simulink.Parameter') && " + ... "propertyName == 'CoderInfo';"; add(rpt,varRptr); end close(rpt); close_system(model_name); rptview(rpt);
NumericFormat - Формат или точность отображения неинтегрированных числовых значений"%.2f" (по умолчанию) | строковый скаляр | символьный вектор | положительное целое числоФормат или точность отображения неинтегрированных числовых значений.
Укажите формат в виде строкового скаляра или символьного вектора. См. раздел formatSpec аргумент на sprintf справочная страница.
Укажите точность как положительное целое число. См. раздел precision аргумент на num2str справочная страница.
Пример: "%.2f" отображает двойные значения с двумя цифрами справа от десятичного знака.
Пример: 2 отображает максимальное количество двух значащих цифр.
TemplateSrc - Источник шаблона для этого репортера[] (по умолчанию) | символьный вектор | строковый скаляр | репортер или отчет | документ DOM или часть документаИсточник шаблона для этого репортера, указанный одним из следующих способов:
Вектор символов или строковый скаляр, указывающий путь к файлу, содержащему шаблон для этого репортера
Репортер или отчет, шаблон которого используется для этого репортера или библиотека шаблонов которого содержит шаблон для этого репортера
Документ DOM или деталь документа, шаблон которого используется для этого репортера или библиотека шаблонов которого содержит шаблон для этого репортера
Указанный шаблон должен быть того же типа, что и отчет, к которому добавлен этот репортер. Например, для отчета Microsoft ® Word :TemplateSrc должен быть шаблоном репортера Word. Если TemplateSrc пустое свойство, этот репортер использует шаблон репортера по умолчанию для типа вывода отчета.
TemplateName - Название шаблона для этого репортераИмя шаблона для этого репортера, указанного как вектор символов или скаляр строки. Шаблон для этого репортера должен находиться в библиотеке шаблонов источника шаблона (TemplateSrc) для этого репортера.
LinkTarget - Цель гиперссылки для этого репортера[] (по умолчанию) | символьный вектор | строковый скаляр | mlreportgen.dom.LinkTarget объектЦель гиперссылки для этого репортера, указанная как вектор символов или скаляр строки, указывающий идентификатор цели связи, или mlreportgen.dom.LinkTarget объект. Вектор символов или строковое скалярное значение преобразуется в LinkTarget объект. Цель ссылки непосредственно предшествует содержимому этого репортера в выходном отчете.
getVariableName | Получение имени переменной из репортера переменных модели |
getVariableValue | Получение значения переменной из репортера переменных модели |
slreportgen.report.ModelVariable.createTemplate | Создание шаблона репортера переменных модели |
slreportgen.report.ModelVariable.customizeReporter | Создание класса отчетов переменных пользовательской модели |
slreportgen.report.ModelVariable.getClassFolder | Получение местоположения файла определения класса отчетов переменных модели |
copy | Создание копии объекта-репортера Simulink и создание глубоких копий определенных значений свойств |
getImpl | Получить реализацию репортера |
Использование свойств slreportgen.report.ModelVariable для настройки форматирования переменной.
% Create a Report rpt = slreportgen.report.Report("MyReport","pdf"); % Create a Chapter chapter = mlreportgen.report.Chapter(); chapter.Title = "Model Variable Reporter Example"; % Load the model model_name = "slrgex_sf_car"; load_system(model_name); % Find the variables in the model finder = slreportgen.finder.ModelVariableFinder(model_name); while hasNext(finder) result = next(finder); % Get the ModelVariable reporter for the result % Customize the formatting of numbers reporter = getReporter(result); reporter.NumericFormat = "%.4f"; % Add the reporter to the chapter add(chapter,reporter); end % Add chapter to the report add(rpt,chapter); % Close the report and open the viewer close(rpt); rptview(rpt);
Создание отчета, включающего:
Глава для переменных модели
Глава для каждой схемы модели с разделом для блоков на схеме
Каждое имя блока в списке Используется переменной модели (Used By) является гиперссылкой на соответствующее содержимое блока.
% Create a Report rpt = slreportgen.report.Report("MyReport","pdf"); % Load the model model_name = "slrgex_sf_car"; load_system(model_name); % Create a Chapter for the Variables chapter = mlreportgen.report.Chapter(); chapter.Title = sprintf("Model Variable Report for the %s model",model_name); % Find the variables in the model finder = slreportgen.finder.ModelVariableFinder(model_name); % Report on the variables while hasNext(finder) result = next(finder); reporter = getReporter(result); add(chapter,reporter); end add(rpt,chapter); % Add diagrams to the report finder = slreportgen.finder.DiagramFinder(model_name); while hasNext(finder) result = next(finder); ch = mlreportgen.report.Chapter(result.Name); add(ch, result); % Add a section for the blocks in the diagram sect = mlreportgen.report.Section("Title","Blocks"); blFinder = slreportgen.finder.BlockFinder(result.Object); while hasNext(blFinder) blockresult = next(blFinder); add(sect,blockresult); end add(ch,sect); add(rpt, ch); end % Close and view the report close(rpt); rptview(rpt);
Simulink.VariableUsage | slreportgen.finder.ModelVariableFinder | slreportgen.finder.ModelVariableResult | slreportgen.report.BusObject
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.