Установите текущее значение настроенной переменной в slTuner
интерфейс
setTunedValue
позволяет вам инициализировать или изменить текущее значение настроенной переменной в slTuner
интерфейс.
slTuner
интерфейс параметризовал каждый настроенный блок как Блок Системы управления (Control System Toolbox) или обобщенная параметрическая модель типа 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'
.
Для блока, параметризованного genmat
/genss
модель, M
, имя любого Блока Системы управления перечислено в M.Blocks
. Например, если параметризация блока
a = realp('a',1);
C = tf(a,[1 a]);
затем установите var
= 'a'
.
value
— Значение настроенной переменнойЗначение настроенной переменной в st
, заданный в виде числа, числового массива или модели в пространстве состояний, которая совместима с настроенной переменной. Например, если var
скалярный элемент, такой как коэффициент ПИД, value
должен быть скаляр. Если var
tunableGain
2 на 2, затем
value
должен быть скалярный массив 2 на 2.
varValues
— Значения нескольких настроенных переменныхЗначения нескольких настроенных переменных в st
, заданный как структура с полями, заданными в виде чисел, числовых массивов или моделей в пространстве состояний. Имена полей являются именами настроенных переменных в st
. Только блокируется характерный для st
и varValues
обновляются, в то время как все другие блоки в st
останьтесь неизменными.
Задавать varValues
, можно получить и изменить настроенную переменную структуру от st
.
varValues = getTunedValue(st); varValues.Ki = 10;
model
— Модель TunedНастроенная модель, которая имеет некоторые параметры вместе с st
, заданный как Обобщенная Модель LTI (Control System Toolbox). Только переменные, характерные для st
и model
обновляются, в то время как все другие переменные в st
останьтесь неизменными.
Tuned blocks, используемый slTuner
соедините интерфейсом, идентифицируйте блоки в модели Simulink, параметры которой должны быть настроены, чтобы удовлетворить настраивающимся целям. Можно настроить большинство блоков Simulink, которые представляют линейные элементы, такие как усиления, передаточные функции или модели в пространстве состояний. (Для полного списка блоков, которые поддерживают настройку, смотрите, Как Настроенные блоки Simulink Параметризованы). Можно также настроить более комплексные блоки, такие как SubSystem или Блоки s-function путем определения эквивалентной настраиваемой линейной модели (Control System Toolbox).
Используйте настраивающиеся команды, такие как systune
настроить параметры настроенных блоков.
Необходимо задать настроенные блоки (например, C1
и C2
) когда вы создаете slTuner
интерфейс.
st = slTuner('scdcascade',{'C1','C2'})
Можно изменить список настроенных блоков с помощью addBlock
и removeBlock
.
Взаимодействовать с настроенным использованием блоков:
getBlockParam
, getBlockValue
, и getTunedValue
получить доступ к настроенной параметризации блока и их текущим значениям.
setBlockParam
, setBlockValue
, и setTunedValue
изменить настроенную параметризацию блока и их значения.
writeBlockValue
обновить блоки в модели Simulink с текущими значениями настроенной параметризации блока.
В slTuner
интерфейс, tuned variables является любыми Блоками Системы управления (Control System Toolbox), вовлеченный в параметризацию настроенного блока Simulink, или непосредственно или через обобщенную параметрическую модель. Настроенные переменные являются параметрами, которыми управляют путем настройки команд, таких как systune
.
Для блоков Simulink, параметризованных обобщенной моделью или настраиваемой поверхностью:
getBlockValue
обеспечивает доступ к общей стоимости параметризации блока. Чтобы получить доступ к значениям настроенных переменных в рамках параметризации блока, используйте getTunedValue
.
setBlockValue
не может использоваться, чтобы изменить значение блока. Чтобы изменить значения настроенных переменных в рамках параметризации блока, используйте setTunedValue
.
Для блоков Simulink, параметризованных Блоком Системы управления, сам блок является настроенной переменной. Чтобы изменить значение блока, можно использовать любой setBlockValue
или setTunedValue
. Точно так же можно получить значение блока с помощью любого getBlockValue
или getTunedValue
.
getTunedValue
| setBlockParam
| setBlockValue
| slTuner
| tunableSurface
| writeBlockValue
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.