addOpening

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

Описание

пример

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);

The y1m сигнал начинается с первого (и единственного) порта scdcascade/Sum блок.

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

mdl = 'scdbusselection';
open_system(mdl);

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

sllin = slLinearizer(mdl);

The 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'

    • Блокируйте путь для блока с одним выходным портом, например '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.

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

Размерности 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