slreportgen.finder.ModelVariableFinder class

Пакет: slreportgen.finder
Суперклассы: mlreportgen.finder.Finder

Находит переменные используемыми моделью Simulink

Описание

Найдите переменные используемыми моделью Simulink®.

slreportgen.finder.ModelVariableFinder классом является handle класс.

Атрибуты класса

HandleCompatible
true

Для получения информации об атрибутах класса см. Атрибуты класса (MATLAB).

Создание

Описание

пример

finder = slreportgen.finder.ModelVariableFinder(container) создает средство поиска, которое находит переменные используемыми в заданном container, который может быть моделью Simulink или подсистемой. Смотрите свойство Container. Можно ограничить поиск путем установки свойств средства поиска. Используйте методы средства поиска, чтобы выполнить поиск.

Примечание

Это средство поиска обеспечивает два способа получить результаты поиска:

  1. Чтобы возвратить результаты поиска как массив, используйте find метод. Добавьте результаты непосредственно в отчет или обработайте результаты в for цикл.

  2. Чтобы выполнить итерации через результаты по одному, используйте hasNext и next методы в while цикл.

Никакая опция не имеет преимущество производительности.

finder = slreportgen.finder.ModelVariableFinder(Name,Value) свойства наборов с помощью пар "имя-значение". Можно задать несколько аргументов пары "имя-значение" в любом порядке. Заключите каждое имя свойства в одинарные или двойные кавычки.

Свойства

развернуть все

Модель или подсистема, чтобы искать в виде строкового скаляра или вектора символов, который содержит путь к модели или подсистеме, или как указатель на модель или подсистему.

Регулярное выражение, соответствующее в виде "прочь" или "на". Если Regexp "off", регулярное выражение, соответствующее, не включено. Если Regexp "on", регулярное выражение, соответствующее, включено для значений Name, SourceType, и Users свойства. Например, этот код находит переменные, которые запускаются с vehicle.

finder = slreportgen.finder.ModelVariableFinder('sf_car');
finder.Regexp = "on";
finder.Name = "^vehicle";

Смотрите регулярные выражения (MATLAB).

Скомпилируйте состояние в виде одного из значений в таблице.

ЗначениеОписание
"compiled"Занимайтесь результатами путем компиляции моделей перед поиском. (значение по умолчанию)
"cached"Получите результаты более быстро при помощи данных, кэшируемых во время предыдущей компиляции.

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

ЗначениеОписание
"on"Ищите переменные в моделях, на которые ссылаются. (значение по умолчанию)
"off"Не ищите переменные в моделях, на которые ссылаются.

Имя переменной, чтобы искать в виде вектора символов или строкового скаляра. Если Regexp свойство установлено в "on", значение Name может быть регулярное выражение. Если Name свойство пусто, средство поиска не ищет на основе имени переменной.

Пример: "vehicledata"

Пример: "^vehicle"

Источник определений переменной в виде одного из этих значений:

  • "base workspace"

  • "model workspace"

  • "mask workspace"

  • "data dictionary"

Если вы устанавливаете SourceType, средство поиска возвращает переменные только из заданного источника. Если Regexp свойство установлено в "on", значение SourceType может быть регулярное выражение. Если SourceType свойство пусто, средство поиска не фильтрует результаты поиска по источнику.

Пример: finder.SourceType = "model workspace" возвращает все переменные, заданные в рабочем пространстве модели.

Пример: finder.SourceType = "(base|mask) workspace" возвращает все переменные, заданные в базовом рабочем пространстве или рабочей области маски если Regexp свойство установлено в "On".

Пример: finder.SourceType = "\w* workspace" возвращает все переменные, заданные в основе, маске или рабочем пространстве модели если Regexp свойство установлено в "On".

Имена блоков, чтобы искать переменные. Задайте один блок как вектор символов или строковый скаляр. Задайте несколько блоков как массив векторов символов или массива строк. Средство поиска возвращает переменные, используемые одним или несколькими заданных блоков. Если вы не устанавливаете Users свойство, средство поиска ищет целую модель или подсистему. Если Regexp свойство установлено в true, можно установить Users свойство к регулярному выражению.

Например, чтобы найти все переменные в MyModel это используется любым Gain1 блокируйтесь или Gain2 блокируйтесь, можно задать оба блока в Users свойство.

myFinder.Users = ["myModel/Gain1", "myModel/Gain2"];

В качестве альтернативы можно использовать регулярное выражение, которое совпадает с обоими именами блока.

myFinder.Regexp = "on";
myFinder.Users = "Gain(1|2)";

Искать ли переменные в подсистемах маскированных в виде одного из значений в таблице.

ЗначениеОписание
"all"Ищите переменные в подсистемах маскированных. (значение по умолчанию)
"none"Не ищите переменные в подсистемах маскированных.

Перейти ли по ссылкам библиотеки при поиске переменных в виде одного из значений в таблице.

ЗначениеОписание
"on"Перейдите по ссылкам в библиотечные блоки. Ссылки библиотеки обработаны как подсистемы. (значение по умолчанию)
"off"Не переходите по ссылкам в библиотечные блоки. Ссылки библиотеки обработаны как блоки.

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

ЗначениеОписание
"off"Не включайте неактивные варианты. (значение по умолчанию)
"on"

Включайте неактивные варианты, если все следующие условия верны:

  • SearchReferencedModels свойство установлено в "on".

  • 'Analyze all choices during update diagram and generate preprocessor conditionals' параметр конфигурации выбран для различной подсистемы.

Свойства Simulink.VariableUsage объекты найти в виде массива ячеек пар "имя-значение". Средство поиска возвращает только переменные чей связанный Simulink.VariableUsage объект имеет заданные значения свойств.

Пример: finder.Properties = {'SourceType', 'base workspace'}

Методы

развернуть все

Примеры

свернуть все

Найдите переменные в модели и добавьте результаты непосредственно в отчет. Укажите, что средство поиска включает переменные в системы маскированные.

% Create a Simulink Report
rpt = slreportgen.report.Report("MyReport","pdf");

% Create a Chapter
chapter = mlreportgen.report.Chapter();
chapter.Title = "Model Variable Finder Example";

% Load the model
model_name = "sf_car";
load_system(model_name)

% Create a variable finder and set its properties
finder = slreportgen.finder.ModelVariableFinder(model_name);
finder.LookUnderMasks = "all";

% Find variables used by the model
results = find(finder);

% Add the results to the chapter
add(chapter,results);

% Add chapter to the report
add(rpt,chapter);

% Close the report and open the viewer
close(rpt);
rptview(rpt);

Настройте форматирование переменных модели в отчете путем итерации через результаты поиска и установки свойств переменного генератора отчетов модели для каждого результата.

% 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 = "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);

Введенный в R2019b