Установите текущее значение настроенной переменной в 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
интерфейс для модели Simulink ® rct_diskdrive
в 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 Synthesis with 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
- Настроенная переменнаяНастроенная переменная в 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
- Настроенная модельНастроенная модель, которая имеет некоторые общие параметры с 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
interface, 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.