addOpening

Добавьте сигнал в список открытий для slLinearizer или slTuner интерфейс

Описание

пример

addOpening(s,pt) добавляет заданная точка (сигнал) к списку постоянных открытий для slLinearizer или slTuner интерфейсы.

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

пример

addOpening(s,blk,port_num) добавляет сигнал в заданном выходном порту заданного блока как постоянное открытие для s.

пример

addOpening(s,blk,port_num,bus_elem_name) добавляет указанный элемент шины как постоянное открытие.

Примеры

свернуть все

Предположим, что вы хотите анализировать только динамику внутреннего цикла scdcascade модель. Добавьте сигнал обратной связи внешнего цикла, y1m, как постоянное открытие slLinearizer интерфейс.

Откройте scdcascade модель.

mdl = 'scdcascade';
open_system(mdl);

Создайте slLinearizer интерфейс для модели.

sllin = slLinearizer(mdl);

Добавьте y1m предупредите как постоянное открытие sllin.

addOpening(sllin,'y1m');

Просмотрите в настоящее время заданные аналитические точки в sllin.

sllin
 
slLinearizer linearization interface for "scdcascade":

No analysis points. Use the addPoint command to add new points.
1 Permanent openings: 
--------------------------
Opening 1:
- Block: scdcascade/Sum
- Port: 1
- Signal Name: y1m
 
Properties with dot notation get/set access:
      Parameters         : [] 
      OperatingPoints    : [] (model initial condition will be used.)
      BlockSubstitutions : []
      Options            : [1x1 linearize.LinearizeOptions]

Предположим, что вы хотите анализировать только динамику внутреннего цикла scdcascade модель. Добавьте сигнал обратной связи внешнего цикла, y1m, как постоянное открытие slLinearizer интерфейс.

Откройте scdcascade модель.

mdl = 'scdcascade';
open_system(mdl);

Создайте slLinearizer интерфейс для модели.

sllin = slLinearizer(mdl);

Добавьте y1m предупредите как постоянное открытие sllin.

addOpening(sllin,'scdcascade/Sum',1);

y1m сигнал порождает в первом (и только) порт scdcascade/Sum блок.

Откройте scdbusselection модель.

mdl = 'scdbusselection';
open_system(mdl);

Создайте slLinearizer интерфейс для модели.

sllin = slLinearizer(mdl);

COUNTERBUS сигнал scdbusselection содержит несколько элементов шины. Добавьте upper_saturation_limit и data соедините шиной элементы как открытия к sllin. При добавлении элементов во вложенной структуре шины используйте запись через точку, чтобы получить доступ к элементам вложенной шины, например, limits.upper_saturation_limit.

blk = {'scdbusselection/COUNTERBUSCreator','scdbusselection/COUNTERBUSCreator'};
port_num = [1 1];
bus_elem_name = {'limits.upper_saturation_limit','data'};

Оба элемента шины порождают в первом (и только) порт scdbusselection/COUNTERBUSCreator блок. Поэтому blk и port_num повторите тот же элемент дважды.

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

свернуть все

Интерфейс к модели Simulink в виде любого slLinearizer взаимодействуйте через интерфейс или slTuner интерфейс.

Открытие, чтобы добавить к списку постоянных открытий для sВ виде:

  • Вектор символов или строка — идентификатор Сигнала, который может быть любым следующим:

    • Имя сигнала, например, 'torque'

    • Блок path для блока с одним выходным портом, например, 'Motor/PID'

    • Путь к блоку и порту, порождающему сигнал, например, 'Engine Model/1' или 'Engine Model/torque'

  • Массив ячеек из символьных векторов или массив строк — Задают несколько идентификаторов сигнала. Например, pt = {'Motor/PID','Engine Model/1'}.

  • Вектор объектов ввода-вывода линеаризации — Использование linio создать pt. Например:

    pt(1) = linio('scdcascade/setpoint',1)
    pt(2) = linio('scdcascade/Sum',1,'output')

    Здесь, pt(1) задает вход и pt(2) задает выход. Однако программное обеспечение игнорирует типы ввода-вывода и добавляет их обоих в список постоянных открытий для s.

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

Размерности blk:

  • Для одного открытия задайте blk как вектор символов или строка.

    Например, blk = 'scdcascade/C1'.

  • Для нескольких открытий задайте blk как массив ячеек из символьных векторов или массив строк. blk, port_num, и bus_elem_name (если задано), должен иметь тот же размер.

    Например, blk = {'scdcascade/C1','scdcascade/Sum'}.

Порт, где открытие происходит в виде положительного целого числа или вектора положительных целых чисел.

Размерности port_num:

  • Для одного открытия задайте port_num как положительное целое число.

    Например, port_num = 1.

  • Для нескольких открытий задайте port_num как вектор положительных целых чисел. blk, port_num, и bus_elem_name (если задано), должен иметь тот же размер.

    Например, port_num = [1 1].

Соедините шиной имя элемента в виде вектора символов или массива ячеек из символьных векторов.

Размерности bus_elem_name:

  • Для одного открытия задайте bus_elem_name как вектор символов или строка.

    Например, bus_elem_name = 'data'.

  • Для нескольких открытий задайте bus_elem_name как массив ячеек из символьных векторов или массив строк. blk, port_num, и bus_elem_name (если задано), должен иметь тот же размер.

    Например, bus_elem_name = {'limits.upper_saturation_limit','data'}.

Больше о

свернуть все

Постоянные открытия

Permanent openings, используемый slLinearizer и slTuner интерфейсы, идентифицируйте местоположения в модели, где программное обеспечение повреждает поток сигналов. Программное обеспечение осуществляет эти открытия для линеаризации и настройку. Используйте постоянные открытия, чтобы изолировать определенный компонент модели. Предположим, что у вас есть крупномасштабная модель, получая динамику самолета, и вы хотите выполнить линейный анализ корпуса только. Можно использовать постоянные открытия, чтобы исключить все другие компоненты модели. Другой пример - когда вы расположили каскадом циклы в своей модели, и вы хотите анализировать определенный цикл.

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

Можно добавить постоянные открытия в slLinearizer или slTuner интерфейсы, когда вы создаете интерфейс или при помощи addOpening команда. Чтобы удалить местоположение из списка постоянных открытий, используйте removeOpening команда.

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

Введенный в R2013b