getBlockValue

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

Описание

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

Один slTuner интерфейс параметризирует каждый настроенный Simulink® блок как блок Система Управления или обобщенная параметрическая модель типа 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'});

Найдите значения параметризаций для блоков ПИ-контроллера в модели.

[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 оба блока являются блоками ПИД-регуляторов.

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

свернуть все

Интерфейс для настройки систем управления, смоделированных в 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);

Подробнее о

свернуть все

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

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

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

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

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

Список настроенных блоков можно изменить используя addBlock и removeBlock.

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

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

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

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

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

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

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

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

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

Для блоков Simulink, параметризованных Блоком Системой управления, сам блок является настроенной переменной. Чтобы изменить значение блока, можно использовать или setBlockValue или setTunedValue. Точно так же можно получить значение блока, используя либо getBlockValue или getTunedValue.

Введенный в R2011b