Установите текущее значение настроенной переменной в интерфейсе slTuner
setTunedValue
позволяет вам инициализировать или изменить текущее значение настроенной переменной в интерфейсе slTuner
.
Интерфейс slTuner
параметризовал каждый настроенный блок как Блок Системы управления (Control System Toolbox) или обобщенная параметрическая модель типа genmat
или genss
. Эта параметризация задает настроенные переменные для команд, таких как systune
.
setTunedValue(st,var,value)
setTunedValue(st,varValues)
setTunedValue(st,model)
Создайте интерфейс 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
является фильтром нижних частот, необходимо ограничить его коэффициенты. Для этого задайте пользовательскую параметризацию 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);
s, t
Интерфейс для настройки систем управления смоделирован в 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'
.
значение
Значение настроенной переменнойЗначение настроенной переменной в 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.