setparam

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

Синтаксис

setparam(target_object, parameter_block_name, parameter_name, parameter_value)
setparam(target_object, parameter_name, parameter_value)
setparam(target_object, parameter_index, parameter_value)
setparam(target_object, parameter_index_vec, param_value_cell_array)
history_struct = setparam(target_object, ___)

Описание

пример

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

пример

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

пример

setparam(target_object, parameter_index, parameter_value) устанавливает значение настраиваемого блока или глобального параметра к новому значению. Задайте параметр индексом параметра.

пример

setparam(target_object, parameter_index_vec, param_value_cell_array) устанавливает значение настраиваемого блока или глобального параметра к новому значению. Задайте параметр вектором индексов параметра и нового значения как массив ячеек.

пример

history_struct = setparam(target_object, ___) устанавливает значение настраиваемого блока или глобального параметра к новому значению, как задано параметрами. Этот метод возвращает структуру, которая хранит спецификацию параметра, предыдущие значения параметров и новые значения параметров.

Примеры

свернуть все

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

tg = slrt;
setparam(tg, 'Signal Generator', 'Amplitude', 5)

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

tg = slrt;
for i = 1 : 3
    setparam(tg, 'Signal Generator', 'Amplitude', (i*2))
end

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

tg = slrt;
setparam(tg, 'Freq', 30)

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

tg = slrt;
setparam(tg, 'oscp.G2',10000000)

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

tg = slrt;
history_struct = setparam(tg, 'Signal Generator', 'Amplitude', 5)
history_struct = 

       Source: {'Signal Generator'  'Amplitude'}
    OldValues: 4
    NewValues: 5

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

tg = slrt;
history_struct = setparam(tg, 'Freq', 30)
history_struct = 

       Source: {'Freq'}
    OldValues: 20
    NewValues: 30

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

tg = slrt;
history_struct = setparam(tg, 'oscp.G2',10000000)
history_struct = 

       Source: {'oscp'}
    OldValues: [1x1 struct]
    NewValues: 10000000

Получите индекс сигнала параметров блоков 'Gain' блока 'Gain1', и затем установите значение параметров на 10000000.

tg = slrt;
pid = getparamid(tg, 'Gain1', 'Gain');
setparam(tg, pid, 10000000)

Получите индекс сигнала переменной MATLAB 'G2', и затем установите значение параметров на 10000000.

tg = slrt;
pid = getparamid(tg, '', 'G2');
setparam(tg, pid,10000000)

Получите индексы сигнала параметров блоков 'Gain' блоков 'Gain1' и 'Gain2', и затем установите значения параметров на 10000000 и 400 соответственно.

tg = slrt;
pid1 = getparamid(tg, 'Gain1', 'Gain');
pid2 = getparamid(tg, 'Gain2', 'Gain');
setparam(tg, [pid1, pid2], {10000000, 400})

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

свернуть все

Объект, который представляет целевой компьютер. Прежде, чем вызвать эту функцию, убедитесь, что вы запускаете целевой компьютер с ядра Simulink® Real-Time™ и применяете необходимые настройки подключения Ethernet.

Пример: tg

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

Пример: 'Gain1', ''

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

Примечание

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

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

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

Чтобы получить доступ к индексу параметра, введите tg.ShowParameters = 'on' в Командном окне и строки количества начиная с 0.

Примечание

Доступ к параметру индексом параметра будет удален в будущем релизе. Доступ к параметрам названием параметра вместо этого.

Пример: 0, 1

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

Пример 1

Индексы параметра возвращены getparamid

Пример: [1,2,3]

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

Пример: {1,2,3}

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

свернуть все

Структура, содержащая следующие поля:

  • Source — Ссылка на изменяемые параметры, в том же формате как входной параметр или аргументы. Если входные параметры являются векторами символов имени или представляют скаляры в виде строки, Source содержит векторы символов имени. Если входной параметр является индексом параметра или вектором индексов параметра, Source содержит индекс параметра или вектор индексов параметра.

  • OldValues — Значения сохранены параметром или параметрами перед изменением.

  • NewValues — Значения сохранены параметром или параметрами перед изменением.

Пример:

Источник: {'генератор сигнала' 'амплитуда'}
OldValues: 4
NewValues: 5

Типы данных: struct

Введенный в R2014a