Чтобы изменить поведение модели, можно настроить параметры блоков Simulink® Desktop Real-Time™, если параметры являются настраиваемыми. Можно изменить параметры блоков через диалоговое окно параметров блоков, блоки Инструментальной панели и язык MATLAB®. Можно создать настраиваемые глобальные параметры при помощи переменных MATLAB как выражения.
В нормальном или режиме Accelerator, Simulink передает новые значения модели, которая моделируется. В режиме external mode Simulink передает новые значения приложению реального времени, которое запускается в процессе привилегированного режима.
Simulink Desktop Real-Time задает два вида настраиваемых параметров: параметры блоков и глобальные параметры.
Параметры блоков являются константным выражением, на которое вы ссылаетесь в диалоговом окне блока Simulink или при помощи MATLAB API. Параметры блоков являются настраиваемыми, когда вы устанавливаете опцию Default parameter behavior на Tunable
на панели Optimization. При использовании MATLAB API вы идентифицируете параметры блоков названием параметра и блоком path в иерархии модели.
Предположим, что вы устанавливаете параметр Amplitude блока Signal Generator к значению 5/2
. Можно изменить амплитуду генератора сигнала во время симуляции путем настройки параметра Amplitude
в блоке Signal Generator
.
Настраиваемым глобальным параметром является переменная MATLAB, на которую вы ссылаетесь в диалоговом окне блока Simulink. Можно настроить глобальный параметр или объект при помощи диалогового окна блока, блоков Инструментальной панели, Property Inspector, Model Explorer, Model Data Editor или языка MATLAB. При использовании MATLAB API вы идентифицируете настраиваемый глобальный параметр именем переменной только.
Предположим, что вы присваиваете параметру Amplitude переменную A
со значением 4.57
. Можно изменить амплитуду генератора сигнала во время симуляции путем настройки значения A
в рабочем пространстве MATLAB и обновления симуляции.
Чтобы повысить эффективность выполнения, можно установить опцию Default parameter behavior на Inlined
на Code Generation> панель Optimization.
По умолчанию вы не можете настроить встроенные параметры блоков. Однако можно создать настраиваемую глобальную переменную путем ссылки на объект переменная MATLAB или Simulink.Parameter
в диалоговом окне блока. Чтобы сделать переменную или объект настраиваемыми, примените класс памяти кроме Auto
к нему.
Для получения дополнительной информации о встроенных параметрах, смотрите поведение параметра По умолчанию (Simulink Coder).
В режиме external mode Simulink Desktop Real-Time соединяет вашу модель Simulink с вашим приложением реального времени. Блок-схема становится пользовательским интерфейсом для приложения реального времени. Можно изменить значение параметров в диалоговом окне блока или заменить значение на переменную MATLAB и настроить переменную в Командном окне.
Когда вы изменяете значение параметров в модели Simulink и нажимаете OK, Simulink Desktop Real-Time передает данные приложению реального времени и изменяет параметры блоков. Можно изменить только параметры, которые не изменяют образцовую структуру. Если вы изменяете структуру, необходимо перекомпилировать модель.
Если вы изменяете значение настраиваемого глобального параметра, команда Simulink, чтобы передать данные от переменной MATLAB до приложения реального времени путем нажатия Ctrl+D или нажатия на Simulation> Update Diagram.
В Simulink Desktop Real-Time можно использовать команду языка MATLAB set_param
, чтобы изменить значения параметров блоков и настраиваемых глобальных параметров. Следующие примеры кода используют модель sldrtex_model
(matlab: open_system(docpath(fullfile(docroot, 'toolbox', 'sldrt', 'examples', 'sldrtex_model'))))
.
Если вы используете литеральное значение параметров блоков, вы получаете доступ к параметру непустым блоком path и названием параметра. Например, чтобы изменить амплитуду генератора сигнала:
model = 'sldrtex_model'; sgname = [model '/Signal Generator']; set_param(sgname, 'Amplitude', '4.57')
Если вы заменяете параметры блоков на настраиваемый глобальный параметр, вы получаете доступ к параметру именем переменной. Предположим, что вы устанавливаете Amplitude на переменную A
. Изменить амплитуду генератора сигнала:
A = 4.57 set_param('sldrtex_model','SimulationCommand','update')