getparam

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

Описание

пример

value = getparam(target_object, block_path, parameter_name) возвращает значение параметров блоков parameter_name в блоке block_path из приложения реального времени, которое загружается на целевом компьютере.

пример

value = getparam(target_object, '', parameter_name) возвращает значение глобального параметра parameter_name.

Примеры

свернуть все

Этот пример создает приложение реального времени из модели slrt_ex_testmodel, загружает приложение на целевом компьютере и получает значение параметров блоков 'Amplitude' из блока 'Signal Generator'.

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

     4

Этот пример принимает это в модели slrt_ex_testmodel вы ранее создали переменную Freq и присвоенный Frequency значение параметров к Freq. Пример создает приложение реального времени из модели slrt_ex_testmodel, загружает приложение на целевом компьютере и получает значение MATLAB® переменная 'Freq'.

tg = slrealtime('TargetPC1');
slbuild('slrt_ex_testmodel');
load(tg, 'slrt_ex_testmodel');
getparam(tg,'','Freq')
ans =

     20

Этот пример создает массив значений усиления и присваивает параметры усиления его элементам. Пример создает приложение реального времени из модели slrt_ex_testmodel, загружает приложение на целевом компьютере и получает значение структуры параметра 'oscp'.

oscp.G0 = 1000000;
oscp.G1 = 400;
oscp.G2 = 1000000;
set_param('slrt_ex_testmodel/Gain','Gain','oscp.G0');
set_param('slrt_ex_testmodel/Gain1','Gain','oscp.G1');
set_param('slrt_ex_testmodel/Gain2','Gain','oscp.G2');
tg = slrealtime('TargetPC1');
slbuild('slrt_ex_testmodel');
load(tg,'slrt_ex_testmodel');
getparam(tg,'','oscp')
ans = 

    G0: 1000000
    G1: 400
    G2: 1000000

Получите значение переменной MATLAB 'spkp.g_gain' из приложения реального времени.

open_system('slrt_ex_osc_struct');
load('slrt_ex_osc_struct.mat');
tg = slrealtime('TargetPC1');
slbuild('slrt_ex_osc_struct');
load(tg,'slrt_ex_osc_struct');
getparam(tg,'','spkp.g_gain')
ans = 

    1000000

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'

Выходные аргументы

свернуть все

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

Введенный в R2020b