Чтобы изменить поведение приложения реального времени, можно настроить Simulink® Real-Time™ настраиваемые параметры. Во режиме external mode Simulink можно изменить параметры непосредственно в блоке или косвенно с помощью MATLAB® переменные для создания настраиваемых глобальных параметров. Simulink Real-Time Explorer и язык MATLAB позволяют вам изменять значения параметров и переменный MATLAB во время выполнения вашего приложения реального времени.
Примечание
Simulink Real-Time не поддерживает параметры многословных типов данных.
Simulink Coder™ задает два вида параметров, которые могут быть изменены во время выполнения: настраиваемые параметры блоков и настраиваемые глобальные параметры.
Настраиваемые параметры блоков являются буквальным выражением, на которое вы ссылаетесь в диалоговом окне Simulink block.
Предположим, что вы присваиваете значение 5/2
к Amplitude параметру блока Signal Generator. Amplitude является настраиваемым параметром.
Настраиваемый глобальный параметр является переменной в рабочем пространстве MATLAB, на которую вы ссылаетесь в диалоговом окне блока Simulink. Предположим, что вы вводите A
в параметре Amplitude блока Signal Generator. Переменные A
является настраиваемым параметром. Можно настроить значения переменного MATLAB, которые сгруппированы в структуре параметра. Для примера:
Присвойте структуру параметра, содержащую поле Ampl
в переменные A
.
Введите A.Ampl
в параметре Amplitude блока Signal Generator.
Измените амплитуду генератора сигнала путем настройки значения A.Ampl
в рабочем пространстве MATLAB во время симуляции.
Чтобы оптимизировать эффективность выполнения, можно изменить опцию Default parameter behavior с Tunable
на Inlined
на панели Code Generation > Optimization.
Вы не можете настроить параметры встроенных блоков. Можно задать настраиваемый глобальный параметр или Simulink.Parameter
объект, введите его в поле параметра в диалоговом окне блока и настройте переменный MATLAB MATLAB или объект.
Для получения дополнительной информации о встроенных параметрах смотрите Поведение параметра по умолчанию.
Во режиме external mode Simulink Real-Time соединяет вашу модель Simulink с вашим приложением реального времени. Схема блока становится пользовательским интерфейсом для приложения реального времени.
Вы можете изменить значение параметров блоков во время выполнения в диалоговом окне блока. Когда вы нажимаете OK, Simulink переносит новое значение в приложение реального времени. Для получения дополнительной информации см. Настройки параметров при помощи Simulink External Mode».
Можно изменить настраиваемый глобальный параметр во время выполнения, присвоив новое значение рабочего пространства MATLAB. Затем необходимо явным образом выполнить команду Simulink для передачи данных. Выполните одно из следующих действий:
Нажмите Ctrl+D.
На вкладке Real-Time щелкните Prepare > Signal Table. На вкладке Parameters отредактируйте параметры и нажмите Update Diagram.
Во время выполнения в реальном времени Simulink Real-Time Explorer становится пользовательским интерфейсом для приложения реального времени.
Чтобы получить доступ к параметрам блоков значению, перейдите к блоку в иерархии модели Explorer. Вы можете изменить значение в текстовом поле ввода в окне параметра. Когда вы применяете новое значение, Simulink Real-Time переносит новое значение в приложение реального времени. Для получения дополнительной информации см. Настройки параметров» при помощи Simulink Real-Time Explorer.
Вы можете получить доступ к настраиваемому глобальному параметру на верхнем уровне иерархии модели. Измените его так же, как и настраиваемые параметры блоков.
Можно использовать инструментальные панели Simulink Real-Time Explorer, чтобы настроить параметры блоков и глобальные параметры.
Чтобы изменить значения параметров настраиваемых блоков и настраиваемых глобальных параметров во время выполнения, используйте команду Simulink Real-Time setparam
. Для получения дополнительной информации смотрите Настройки параметров при помощи языка MATLAB.
Эти примеры кода используют модель slrt_ex_osc
. Чтобы изменить значение параметров блоков, используйте непустой путь блока и имя параметра. Для примера изменить амплитуду генератора сигнала:
slbuild(slrt_ex_osc); tg = slrealtime('TargetPC1'); load(tg,'slrt_ex_osc') start(tg); setparam(tg, 'Signal Generator', 'Amplitude', 4.57)
Чтобы изменить настраиваемый глобальный параметр, используйте имя переменной. Для примера изменить амплитуду генератора сигнала через поле структуры параметра A.Ampl
:
slbuild(slrt_ex_osc); tg = slrealtime('TargetPC1'); load(tg,'slrt_ex_osc') start(tg); setparam(tg, '', 'A.Ampl', 4.57)