Пакет: slreportgen.report
Суперклассы: slreportgen.report.Reporter
Модель переменной reporter
Репортер для Simulink® переменная модели.
Примечание
Как использовать slreportgen.report.ModelVariable
репортер в отчете, вы должны создать отчет с помощью slreportgen.report.Report
класс или подкласс.
The slreportgen.report.ModelVariable
класс является handle
класс.
HandleCompatible | true |
Для получения информации об атрибутах класса см. раздел «Атрибуты класса».
Вы не создаете 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
The Simulink.VariableUsage
объект, который соответствует переменной, на которой выполняется отчет. Объект содержит имя переменной, источник переменной и блоки, которые используют переменную. Это свойство доступно только для чтения.
ModelBlockPath
- путь of Model, который устанавливает значение переменной[]
| вектор символовПуть к блоку Model, который устанавливает значение переменных, заданный как вектор символов.
Предположим, что ссылка на модель использует аргумент модели, чтобы задать параметры блоков значение. Если модель имеет несколько образцы модели-ссылки, искатель переменной модели возвращает несколько образцов переменной, которая связана с аргументом модели. The ModelBlockPath
свойство уникально идентифицирует образец переменной путем предоставления пути к блоку модели, который задает его значение. Если переменная не связана с аргументом модели в модели-ссылке, ModelBockPath
пуст. Дополнительные сведения о ссылочных моделях и параметрах конкретного экземпляра см. в разделе «Параметризация образцов переиспользуемой модели-ссылки».
ShowUsedBy
- Включать ли блоки, которые используют эту переменнуюtrue
(по умолчанию) | false
Будет ли включать список блоков, которые используют эту переменную, заданный как true
или false
. Если на FormatPolicy
свойство имеет значение "Inline Text"
, список блоков не входит в отчет, независимо от значения ShowUsedBy
свойство.
Если отчет содержит отчетное содержимое для блока в списке Использовано (Used By), при нажатии гиперссылки для блока выполняется переход к содержимому. См. «Генерация отчета переменных модели, схем и блоков».
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, объекты Simulink, объекты Stateflow или графические объекты, могут быть свойства, которые являются самостоятельно объектами. В этом случае иерархия уплощается, и значение свойства отображается как гиперссылка на таблицу свойств этого объекта. Таблица свойств объекта также имеет гиперссылку назад к исходной таблице.
"Paragraph"
- Форматируйте значения переменной как абзац. Переменные, которые по умолчанию форматируются как таблицы, уплощаются и форматируются как абзац.
"Inline Text"
- Форматирует переменную в соответствии с окружающим текстом.
TableReporter
- Табличный репортер mlreportgen.report.Basetable
Table reporter используется для форматирования значения переменной, заданного как 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
. The ShowEmptyValues
свойство применяется только к объекту MATLAB, объекту Simulink и переменным объекта Stateflow.
ShowDefaultValues
- Отображать ли свойства, которые используют значения по умолчаниюtrue
(по умолчанию) | 0
Отображать ли свойства, которые используют значение по умолчанию, заданное как true
или false
. The 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® Отчет о словах, TemplateSrc
должен быть шаблоном репортера Word. Если на TemplateSrc
свойство пусто, этот репортер использует шаблон репортера по умолчанию для типа выхода отчета.
TemplateName
- Имя шаблона для этого репортераИмя шаблона для этого репортера, заданное как вектор символов или строковый скаляр. Шаблон для этого репортера должен быть в библиотеке шаблонов источника шаблона (TemplateSrc
) для этого репортера.
LinkTarget
- Цель гиперссылки для этого репортера[]
(по умолчанию) | вектор символов | строковый скаляр | mlreportgen.dom.LinkTarget
объектЦель гиперссылки для этого репортера, заданная как вектор символов или строковый скаляр, задающий идентификатор цели ссылки или mlreportgen.dom.LinkTarget
объект. Вектор символов или строковое скалярное значение преобразуется в LinkTarget
объект. Цель ссылки непосредственно предшествует содержимому этого репортера в выход отчете.
getVariableName | Получите имя переменной из переменной модели reporter |
getVariableValue | Получите значение переменной из переменной модели reporter |
slreportgen.report.ModelVariable.createTemplate | Создайте шаблон переменной модели reporter |
slreportgen.report.ModelVariable.customizeReporter | Создайте пользовательский класс переменной модели reporter |
slreportgen.report.ModelVariable.getClassFolder | Получите местоположение файла определения класса переменной модели reporter |
copy | Создайте копию объекта-репортера Simulink и сделайте глубокие копии определенных значений свойств |
getImpl | Получите реализацию reporter |
Используйте свойства 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.