setparam

Измените значение настраиваемого параметра в режиме реального времени приложение

Описание

пример

setparam(target_object, block_path, parameter_name, parameter_value,'Force',true) устанавливает значение настраиваемых параметров блоков к новому значению. Задайте параметры блоков именем блока и названием параметра.

пример

setparam(target_object, '', parameter_name, parameter_value,'Force',true) устанавливает значение настраиваемого глобального параметра к новому значению. Задайте глобальный параметр MATLAB® имя переменной.

Примеры

свернуть все

Установите значение параметров блоков 'Amplitude' из блока 'Signal Generator' к 5.

tg = slrealtime('TargetPC1');
slbuild('slrt_ex_testmodel');
load(tg,'slrt_ex_testmodel');
setparam(tg,'slrt_ex_testmodel/Signal Generator','Amplitude',5)

Разверните значение параметров блоков 'Amplitude' из блока 'Signal Generator' шагами 2.

tg = slrealtime('TargetPC1');
slbuild('slrt_ex_testmodel');
load(tg,'slrt_ex_testmodel');
for i = 1 : 3
    setparam(tg,'slrt_ex_testmodel/Signal Generator','Amplitude',(i*2))
end

Установите значение переменной MATLAB 'Freq' к 30.

tg = slrealtime('TargetPC1');
slbuild('slrt_ex_testmodel');
load(tg,'slrt_ex_testmodel');
setparam(tg,'','Freq',30)

Установите значение переменной MATLAB 'oscp.G2' к 10000000.

tg = slrealtime('TargetPC1');
slbuild('slrt_ex_testmodel');
load(tg,'slrt_ex_testmodel');
setparam(tg,'','oscp.G2',10000000)

getparam и setparam функции поддерживают синтаксис записи через точку, чтобы получить доступ к значениям параметров в режиме реального времени приложения. Это примеры более усовершенствованного синтаксиса.

% If a parameter is a struct, a single element of any 
% array can be specified at any arbitrary depth in the struct.
tg.setparam('', 'p.a.b(2).c', val) 
val = tg.getparam('', 'p.a.b(2).c') 

% If a parameter is an array of structs, one element of 
% the struct array can be specified as follows:
tg.setparam('', 'p(2,2).x.y.z', val) 
val = tg.getparam('', 'p(2,2).x.y.z') 

% If a parameter is N dimensions, a single element of 
% the parameter can be accessed by specifying each dimension.
tg.setparam('top/constant', 'Value(3,4)', val) 
val = tg.getparam('top/constant', 'Value(3,4)') 

% If a parameter is Mx1 or 1xN (row or column vector), 
% the following syntax specifying a single index 
% is allowed: 
tg.setparam('top/constant1', 'Value(4)', val)

Входные параметры

свернуть все

Обеспечивает доступ к методам, которые управляют свойствами целевого компьютера.

Пример: tg

block_path значения могут быть:

  • Пустой символьный вектор ('') или скаляр пустой строки ("") для базового рабочего пространства или переменных рабочего пространства модели

  • Вектор символов или строковый скаляр представляют в виде строки для блока path к параметрам в топ-модели

  • Массив ячеек из символьных векторов или строковые скаляры для аргументов блока модели

Пример: '', 'Gain1', {'top/model','sub/model'}

Параметр может определять или параметры блоков или глобальный параметр, который вводит значение для параметров блоков. Параметры блоков или переменная MATLAB должны быть заметными, чтобы быть доступными через название параметра.

Примечание

Simulink® Real-Time™ не поддерживает параметры типов данных многословных.

Пример: 'Gain', 'oscp.G1', 'oscp', 'G2'

Новое значение с типом данных как требуется параметром.

Пример 1

Дополнительный 'Force', true аргумент пары "имя-значение" обеспечивает операцию присвоения значения параметров, даже если значение не находится в области значений [min max] для параметра.

Пример: 'Force', true

Типы данных: логический

Введенный в R2020b
Для просмотра документации необходимо авторизоваться на сайте