Changing Simulink Real-Time Workspace Variable

10 次查看(过去 30 天)
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
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
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

Community Treasure Hunt

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

Start Hunting!

Translated by