Установите значение параметризации настроенных блоков в slTuner
интерфейс
setBlockValue
позволяет вам инициализировать или изменить текущее значение параметризации настроенного блока в slTuner
интерфейс.
Один slTuner
интерфейс параметризирует каждый настроенный Simulink® блок как блок Система Управления или обобщенная параметрическая модель типа genmat
или genss
. Эта параметризация задает настроенные переменные для таких команд, как systune
.
Создайте slTuner
интерфейс для scdcascade
Модели и установите значение параметризации одного из настроенных блоков.
Создайте slTuner
интерфейс.
open_system('scdcascade'); st = slTuner('scdcascade',{'C1','C2'});
Оба C1
и C2
являются ПИ-контроллеры. Исследуйте параметризацию по умолчанию C1
.
getBlockParam(st,'C1')
ans = Tunable continuous-time PID controller "C1" with formula: 1 Kp + Ki * --- s and tunable parameters Kp, Ki. Type "pid(ans)" to see the current value and "get(ans)" to see all properties.
Параметризация по умолчанию является ПИ-контроллером с двумя настраиваемыми параметрами, Kp
и Ki
.
Установите значение параметризации C1
.
C = pid(4.2);
setBlockValue(st,'C1',C);
Исследуйте значение параметризации C1
.
getBlockValue(st,'C1')
ans = Kp = 4.2 Name: C1 P-only controller.
Исследуйте параметризацию C1.
getBlockParam(st,'C1')
ans = Tunable continuous-time PID controller "C1" with formula: 1 Kp + Ki * --- s and tunable parameters Kp, Ki. Type "pid(ans)" to see the current value and "get(ans)" to see all properties.
Заметьте, что, хотя текущее значение блока является контроллером только P, параметризация блока продолжает оставаться ПИ-контроллер.
Создайте slTuner
интерфейс.
open_system('scdcascade'); st = slTuner('scdcascade',{'C1','C2'});
Создайте структуру значений блоков с именами полей, которые соответствуют настраиваемым блокам в st
.
blockValues = getBlockValue(st); blockValues.C1 = pid(0.2,0.1); blockValues.C2 = pid(2.3);
Установите значения параметризаций настраиваемых блоков в st
использование заданной структуры.
setBlockValue(st,blockValues);
st
- Интерфейс для настройки систем управления, смоделированный в SimulinkslTuner
интерфейсИнтерфейс для настройки систем управления, смоделированных в Simulink, задается как slTuner
интерфейс.
blk
- БлокБлокируйте в списке настроенных блоков для st
, заданный в виде вектора символов или строки. Можно задать полный путь к блоку или любому фрагменту пути, который однозначно идентифицирует блок среди других настроенных блоков st
.
Пример: blk = 'scdcascade/C1'
, blk = "C1"
Примечание
setBlockValue
позволяет изменять только общее значение параметризации blk
. Чтобы изменить значения элементов в пользовательских параметризациях блоков, таких как обобщенные модели пространства состояний, используйте setTunedValue
.
value
- Значение параметризации блокаЗначение блочной параметризации, заданное как числовая модель LTI или блок Система Управления, такой tunableGain
или tunablePID
. Значение value
должна быть совместима с параметризацией blk
. Для примера, если blk
параметризируется как ПИД-регулятор, затем value
должен быть tunablePID
блок, число pid
модель, или число tf
модель, которая представляет ПИД-регулятору.
setBlockValue
обновляет значение параметров настроенного блока на основе параметров value
. Используя setBlockValue
не изменяет структуру параметризации настроенного блока. Изменение параметризации blk
, использование setBlockParam
. Для примера можно использовать setBlockParam
чтобы изменить параметризацию блока из tunablePID
к трехполюснику tunableTF
модель.
blkValues
- Значения многоблочных параметризацийЗначения нескольких блочных параметризаций, заданные как структура с полями, заданными как числовые модели LTI или блоки Система Управления. Имена полей являются именами блоков в st
. Только общие для st
блоки и
blkValues
обновляются, в то время как все другие блоки в st
оставить без изменений.
Чтобы задать blkValues
, можно извлечь и изменить структуру значения параметризации блока из st
.
blkValues = getblockValue(st); blkValues.C1 = pid(0.1,0.2);
Примечание
Для блоков Simulink, имена которых не являются допустимыми именами полей, укажите соответствующее имя поля в blkValues
как это появляется в параметризации блока.
blockParam = getBlockParam(st,'B-1');
fieldName = blockParam.Name;
blockValues = struct(fieldName,newB1);
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
.
getBlockValue
| setBlockParam
| setTunedValue
| slTuner
| writeBlockValue
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.