Changing Simulink Real-Time Workspace Variable

I am currently working on Simulink Real Time (with Speedgoat). I want to change some variables in Model Workspace, from outside Speedgoat (using UDP connection or Serial Port).
I can't use assignin because it is not supported for code generation. Is it possible to do this?

回答 (1 件)

Jonas
Jonas 2020 年 3 月 9 日

0 投票

You should use the command setparam. Typical command is: setparam(tg,'speed_setpoint',100) for changing parameter 'speed_setpoint' on your target tg = slrt.

4 件のコメント

Calvin Watson
Calvin Watson 2022 年 1 月 18 日
I am also running Simulink Real Time deployed onto a SpeedGoat. When I try set_param the error 'Cannot change parameter Constant value while simulation is running' is displayed.
It works fine when I run the simualtion (CTRL T) just on the machine. When i run the model via the Real-Time run tab I get the error above.
Jonas
Jonas 2022 年 1 月 18 日
Try setparam, not set_param. It is a different command.
Calvin Watson
Calvin Watson 2022 年 1 月 18 日
Thank you Jonas. I can now edit tunable params during running :). I am using a GUI (matlab app) to alter the inputs into the model ad hoc. Is setparam the only method of driving the realtime model using the GUI?
Jonas
Jonas 2022 年 1 月 18 日
setparam is a direct way, and until recently the only way to build a MATLAB App that interfaces with a SLRT application.
With the recent update to SLRT, I believe they have expanded the way you can interface with a SLRT application. An alternative way now would be to use Instrumentation.
I have no experience with it but it should be a more convenient way of reading signals and displaying them on elements, and changing parameters without having to manually program it all.
For displaying a real-time graph, I used to program capturing of signals linked to a timer object to refresh the graph in a MATLAB App, but they made it more user-friendly from what I understand.

サインインしてコメントする。

カテゴリ

製品

リリース

R2019b

質問済み:

2020 年 3 月 9 日

コメント済み:

2022 年 1 月 18 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by