Чтобы изменить поведение модели, можно настроить параметры блоков 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 и обновлении симуляции.
Чтобы повысить эффективность выполнения, откройте диалоговое окно Configuration Parameters и установите опцию 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.
В Редакторе Simulink, на вкладке Debug, нажатие по Update Model.
При помощи Пакетного режима можно настроить несколько параметров и применить все настроенные параметры целиком, вместо того, чтобы настроить один параметр за один раз. Этот пример использует модель sldrtex_model
(matlab: open_system(docpath(fullfile(docroot, 'toolbox', 'sldrt', 'examples', 'sldrtex_model'))))
.
Открытая модель sldrtex_model
.
В Редакторе Simulink, на вкладке Desktop Real-Time, нажимают Run in Real Time.
На вкладке Desktop Real-Time нажмите Prepare> Batch Mode. Редактор остается в пакетном режиме, пока вы не нажимаете Batch Mode снова.
Чтобы установить значения параметров, можно установить значения или путем нажатия на каждый блок или при помощи Model Data Editor.
На вкладке Desktop Real-Time, Prepare> Signal Table.
В Model Data Editor кликните по вкладке Parameters. Измените значения параметров в Model Data Editor.
На вкладке Desktop Real-Time нажмите Prepare> Update All Parameters.
Чтобы остановить симуляцию, прежде чем это закончится на вкладке Desktop Real-Time, нажимают Stop.
В 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')