linqueryIsBlockType

Объект запроса для нахождения блоков заданного типа

Описание

linqueryIsBlockType создает пользовательский объект запроса для нахождения всех блоков заданного типа в результате линеаризации.

Когда вы линеаризируете Simulink® модель, можно создать LinearizationAdvisor объект, содержащий диагностическую информацию об отдельных линеаризациях блоков. Чтобы найти линеаризации блоков, которые удовлетворяют определенным критериям, можно использовать find функция с пользовательскими объектами запросов. Также можно проанализировать диагностику линеаризации с помощью Linearization Advisor в Model Linearizer. Для получения дополнительной информации о поиске определенных блоков в результатах линеаризации, смотрите Найти блоки в результатах линеаризации, соответствующих определенным критериям.

Создание

Описание

пример

query = linqueryIsBlockType(Type) создает объект запроса для поиска всех блоков в LinearizationAdvisor объекта, которые имеют тип Type.

Входные параметры

расширить все

Тип блока, заданный как вектор символов или строка. Чтобы задать тип блока, используйте соответствующую blocktype параметр блока. Чтобы получить blocktype параметр для выбранного на данный момент блока в модели Simulink, в MATLAB® командная строка, введите:

get_param(gcb,'blocktype')

Также, чтобы найти:

  • MATLAB Function блоков задайте Type как 'matlab function'.

  • Диаграммы Stateflow, задайте Type как 'chart'.

  • Simscape, задайте Type как 'simscape'. A LinearizationAdvisor объект не предоставляет диагностическую информацию на уровне компонентов для Simscape™ сетей. Вместо этого он группирует диагностическую информацию для нескольких компонентов Simscape, соединенных с одним блоком Solver Configuration.

Свойства

расширить все

Тип запроса, заданный как вектор символов формы '<type> Blocks', где <type> равен типу блока, заданному в Type.

Описание запроса, заданное как вектор символов формы 'Blocks with <type> Block types', где <type> равно Type. Вы можете добавить собственное описание к объекту запроса с помощью этого свойства.

Использование

После создания linqueryIsBlockType объект запроса, можно:

  • Найдите все блоки заданного типа в LinearizationAdvisor объект при помощи linqueryIsBlockType запрос непосредственно с помощью find команда.

  • Создайте CompoundQuery объект путем логического объединения linqueryIsBlockType запрос с другими объектами запроса.

Функции объекта

findНайдите блоки в результатах линеаризации, которые соответствуют определенным критериям

Примеры

свернуть все

Загрузите модель Simulink.

mdl = 'scdspeed';
load_system(mdl)

Линеаризируйте модель и получите LinearizationAdvisor объект.

opts = linearizeOptions('StoreAdvisor',true);
io(1) = linio('scdspeed/throttle (degrees)',1,'input');
io(2) = linio('scdspeed/rad//s to rpm',1,'output');
[sys,op,info] = linearize(mdl,io,opts);
advisor = info.Advisor;

Создайте объект запроса и найдите все блоки интегратора.

qInteg = linqueryIsBlockType('Integrator');
advInteg = find(advisor,qInteg)
advInteg = 
  LinearizationAdvisor with properties:

               Model: 'scdspeed'
      OperatingPoint: [1x1 opcond.OperatingPoint]
    BlockDiagnostics: [1x2 linearize.advisor.BlockDiagnostic]
           QueryType: 'Integrator Blocks'

Альтернативная функциональность

Приложение

Можно также создать пользовательские запросы для нахождения определенных блоков в результатах линеаризации с помощью консультанта по линеаризации в Model Linearizer. Для получения дополнительной информации смотрите Поиск блоков в результатах линеаризации, соответствующих определенным критериям.

Введенный в R2017b