addOpening

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

Синтаксис

addOpening(s,pt)
addOpening(s,blk,port_num)
addOpening(s,blk,port_num,bus_elem_name)

Описание

пример

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

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

пример

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, s, когда вы создаете интерфейс или при помощи команды addOpening. Чтобы удалить местоположение из списка постоянных открытий, используйте команду removeOpening.

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

Введенный в R2013b