exponenta event banner

getBlockValue

Получить текущее значение параметризации настроенного блока в slTuner интерфейс

Описание

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

Один slTuner интерфейс параметризует каждый настроенный блок Simulink ® в качестве блока Control Design Block или обобщенной параметрической модели типаgenmat или genss. Эта параметризация определяет настроенные переменные для таких команд, как systune.

пример

value = getBlockValue(st,blk) возвращает текущее значение параметризации настраиваемого блока, blk, в slTuner интерфейс.

пример

[val1,val2,...] = getBlockValue(st,blk1,blk2,...) возвращает текущие значения параметризаций одного или нескольких настроенных блоков st.

пример

S = getBlockValue(st) возвращает структуру, содержащую текущие значения параметризаций всех настроенных блоков st.

Примеры

свернуть все

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

open_system('scdcascade')
st = slTuner('scdcascade',{'C1','C2'});

Проверьте текущее значение параметризации одного из настроенных блоков.

val = getBlockValue(st,'C1')
val =
 
             1 
  Kp + Ki * ---
             s 

  with Kp = 0.158, Ki = 0.042
 
Name: C1
Continuous-time PI controller in parallel form.

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

open_system('scdhelicopter')
st = slTuner('scdhelicopter',{'PI1','PI2','PI3','SOF'});

Извлеките значения параметров для блоков контроллера PI в модели.

[valPI1,valPI2,valPI3] = getBlockParam(st,'PI1','PI2','PI3');

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

open_system('scdcascade')
st = slTuner('scdcascade',{'C1','C2'});

Получение значений параметризации для обоих настроенных блоков в st.

blockValues = getBlockValue(st)
blockValues = 

  struct with fields:

    C1: [1x1 pid]
    C2: [1x1 pid]

blockValues - структура с именами полей, соответствующими именам перестраиваемых блоков в st. Значения полей blockValues являются pid модели, потому что C1 и C2 оба являются блоками контроллера PID.

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

свернуть все

Интерфейс для настройки систем управления, смоделированных в Simulink, указанный как slTuner интерфейс.

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

Пример: blk = 'scdcascade/C1', blk = "C1"

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

свернуть все

Текущее значение параметризации блока, возвращаемое в виде числовой модели LTI, например pid, ss, или tf.

Если результаты настройки не были применены к модели Simulink с помощью writeBlockValue, значение, возвращенное getBlockValue может отличаться от фактического значения блока Simulink.

Примечание

Использовать writeBlockValue для выравнивания значений параметризации блока с фактическими значениями блока в модели Simulink.

Текущие значения всех параметризаций блока в st, возвращено как структура. Имена полей в S являются именами настроенных блоков в stи значения полей являются соответствующими числовыми моделями LTI.

Эту структуру можно использовать для переноса настроенных значений из одного slTuner интерфейс с другим slTuner интерфейс с теми же настроенными параметризациями блока.

S = getBlockValue(st1);
setBlockValue(st2,S);

Подробнее

свернуть все

Настроенные блоки

Настроенные блоки, используемые slTuner определите блоки в модели Simulink, параметры которых должны быть настроены в соответствии с целями настройки. Можно настроить большинство блоков Simulink, которые представляют линейные элементы, такие как коэффициенты усиления, передаточные функции или модели пространства состояний. (Полный список блоков, поддерживающих настройку, см. в разделе Как параметризованы настроенные блоки Simulink). Можно также настроить более сложные блоки, такие как блоки субсистемы или S-функции, указав эквивалентную настраиваемую линейную модель.

Используйте команды настройки, такие как systune для настройки параметров настроенных блоков.

Необходимо указать настроенные блоки (например, C1 и C2) при создании slTuner интерфейс.

st = slTuner('scdcascade',{'C1','C2'})

Изменить список настроенных блоков можно с помощью addBlock и removeBlock.

Для взаимодействия с настроенными блоками используйте:

  • getBlockParam, getBlockValue, и getTunedValue для доступа к настроенным параметризациям блока и их текущим значениям.

  • setBlockParam, setBlockValue, и setTunedValue для изменения параметров настроенного блока и их значений.

  • writeBlockValue обновление блоков в модели Simulink текущими значениями параметризаций настроенного блока.

Настроенные переменные

В пределах slTuner настраиваемые переменные интерфейса - это любые управляющие блоки проектирования, участвующие в параметризации настроенного блока Simulink либо непосредственно, либо через обобщенную параметрическую модель. Настроенные переменные - это параметры, которыми манипулируют команды настройки, такие как systune.

Для блоков Simulink, параметризованных обобщенной моделью или настраиваемой поверхностью:

  • getBlockValue обеспечивает доступ к общему значению параметризации блока. Для доступа к значениям настроенных переменных в параметризации блока используйте getTunedValue.

  • setBlockValue не может использоваться для изменения значения блока. Чтобы изменить значения настроенных переменных в параметризации блока, используйте setTunedValue.

Для блоков Simulink, параметризованных блоком Control Design, сам блок является настраиваемой переменной. Для изменения значения блока можно использовать либо setBlockValue или setTunedValue. Аналогично, можно извлечь значение блока с помощью одного из следующих способов: getBlockValue или getTunedValue.

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