Установите текущее значение настроенной переменной в slTuner интерфейс
setTunedValue позволяет вам инициализировать или изменить текущее значение настроенной переменной в slTuner интерфейс.
slTuner интерфейс параметрирует каждый настроенный блок как Блок Системы управления или обобщенную параметрическую модель типа genmat или genss. Эта параметризация задает настроенные переменные для команд такой как systune.
Создайте slTuner интерфейс для scdcascade модель.
open_system('scdcascade'); st = slTuner('scdcascade',{'C1','C2'});

Установите пользовательскую параметризацию для одного из настраиваемых блоков.
C1CustParam = realp('Kp',1) + tf(1,[1 0]) * realp('Ki',1); setBlockParam(st,'C1',C1CustParam);
Эти команды устанавливают параметризацию C1 блок контроллера к обобщенному пространству состояний (genss) модель, содержащая два настраиваемых параметра, Ki и Kp.
Инициализируйте значение Ki к 10 не изменяя значение Kp.
setTunedValue(st,'Ki',10);
Создайте slTuner интерфейс для scdcascade модель.
open_system('scdcascade'); st = slTuner('scdcascade',{'C1','C2'});

Установите пользовательскую параметризацию для одного из настраиваемых блоков.
C1CustParam = realp('Kp',1) + tf(1,[1 0]) * realp('Ki',1); setBlockParam(st,'C1',C1CustParam);
Эти команды устанавливают параметризацию C1 блок контроллера к обобщенному пространству состояний (genss) модель, содержащая два настраиваемых параметра, Ki и Kp.
Создайте структуру настраиваемых значений элемента, установки Kp к 5 и Ki к 10.
S = struct('Kp',5,'Ki',10);
Установите значения настраиваемых элементов в st.
setTunedValue(st,S);
Преобразуйте slTuner интерфейс для модели rct_diskdrive Simulink® к genss модель, чтобы настроить блоки модели с помощью hinfstruct. После настройки, обновления slTuner интерфейс настроенными параметрами и записью значения параметров к модели Simulink для валидации.
Использование hinfstruct требует лицензии Robust Control Toolbox.
Создайте slTuner интерфейс для rct_diskdrive. Добавьте C и F как настроенные блоки интерфейса.
open_system('rct_diskdrive'); st = slTuner('rct_diskdrive',{'C','F'});

Параметризация по умолчанию блока передаточной функции, F, передаточная функция двумя свободными параметрами. Поскольку F фильтр lowpass, необходимо ограничить его коэффициенты. Для этого задайте пользовательскую параметризацию F с коэффициентом фильтра a.
a = realp('a',1); setBlockParam(st,'F',tf(a,[1 a]));
Преобразуйте st к genss модель.
m = getIOTransfer(st,{'r','n'},{'y','e'});
Как правило, для настройки с hinfstruct, вы добавляете функции взвешивания к genss модель, которые зависят от ваших конструктивных требований. Вы затем настраиваете увеличенную модель. Для получения дополнительной информации смотрите Синтез Fixed-Structure H-infinity с hinfstruct (Robust Control Toolbox).
В данном примере вместо того, чтобы настроить модель, вручную настройте настроенные значения переменных.
m.Blocks.C.Kp.Value = 0.00085; m.Blocks.C.Ki.Value = 0.01; m.Blocks.a.Value = 5500;
После настройки, обновления значения параметризации блока в st.
setTunedValue(st,m);
Это эквивалентно setBlockValue(st,m.Blocks).
Чтобы подтвердить настраивающийся результат в Simulink, сначала обновите модель Simulink с настроенными значениями.
writeBlockValue(st);
st — Интерфейс для настройки систем управления смоделирован в Simulink®slTuner интерфейсИнтерфейс для настройки систем управления, смоделированных в Simulink в виде slTuner интерфейс.
var — Переменная TunedНастроенная переменная в stВ виде вектора символов или строки. Настроенная переменная является любым Блоком Системы управления, таким realp, tunableSS, или tunableGain, вовлеченный в параметризацию настроенного блока Simulink, или непосредственно или через обобщенную параметрическую модель. Получить список всех настроенных переменных в st, используйте getTunedValue(st).
var может относиться к следующему:
Для блока, параметрированного Блоком Системы управления, именем блока. Например, если параметризация блока
C = tunableSS('C')затем установите var = 'C'.
Для блока, параметрированного a genmat/genss модель, M, имя любого Блока Системы управления перечислено в M.Blocks. Например, если параметризация блока
a = realp('a',1);
C = tf(a,[1 a]);затем установите var = 'a'.
value — Значение настроенной переменнойЗначение настроенной переменной в stВ виде числового скаляра, числового массива или модели в пространстве состояний, которая совместима с настроенной переменной. Например, если var скалярный элемент, такой как коэффициент ПИД, value должен быть скаляр. Если var 2 на 2 tunableGain, затем value должен быть скалярный массив 2 на 2.
varValues — Значения нескольких настроенных переменныхЗначения нескольких настроенных переменных в stВ виде структуры с полями, заданными в виде чисел, числовых массивов или моделей в пространстве состояний. Имена полей являются именами настроенных переменных в st. Только блокируется характерный для st и varValues обновляются, в то время как все другие блоки в st останьтесь неизменными.
Задавать varValues, можно получить и изменить настроенную переменную структуру от st.
varValues = getTunedValue(st); varValues.Ki = 10;
model — Модель TunedНастроенная модель, которая имеет некоторые параметры вместе с stВ виде Обобщенной Модели LTI. Только переменные, характерные для st и model обновляются, в то время как все другие переменные в st останьтесь неизменными.
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 интерфейс, tuned variables является любыми Блоками Системы управления, вовлеченными в параметризацию настроенного блока Simulink, или непосредственно или через обобщенную параметрическую модель. Настроенные переменные являются параметрами, которыми управляют путем настройки команд такой как systune.
Для блоков Simulink, параметрированных обобщенной моделью или настраиваемой поверхностью:
getBlockValue обеспечивает доступ к общей стоимости параметризации блока. Чтобы получить доступ к значениям настроенных переменных в рамках параметризации блока, использовать getTunedValue.
setBlockValue не может использоваться, чтобы изменить значение блока. Чтобы изменить значения настроенных переменных в рамках параметризации блока, использовать setTunedValue.
Для блоков Simulink, параметрированных Блоком Системы управления, сам блок является настроенной переменной. Чтобы изменить значение блока, можно использовать также setBlockValue или setTunedValue. Точно так же можно получить значение блока с помощью также getBlockValue или getTunedValue.
getTunedValue | setBlockParam | setBlockValue | slTuner | tunableSurface | writeBlockValue
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.