exponenta event banner

linqueryIsBlockType

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

Описание

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

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

Создание

Описание

пример

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

Входные аргументы

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

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

get_param(gcb,'blocktype')

Кроме того, чтобы найти:

  • Функциональные блоки MATLAB, укажите Type как 'matlab function'.

  • Диаграммы потока состояний, укажите Type как 'chart'.

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

Свойства

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

Тип запроса, указанный как символьный вектор формы '<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'

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

Приложение

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

Представлен в R2017b