Input delay too big when using set_param to change value of constant block.

2 次查看(过去 30 天)
I am using the set_param command to change the value of a constant block in a running Simulink model. The set_param command gets called within a callback in an app from Matlab App Designer. Unfortunately the delay after changing the value in the app until Simulink realises the change is too big. How can I fix this? Thanks for your help!
  2 个评论
Luca Ferro
Luca Ferro 2023-4-5
is it acceptable for you to pause the simulink upon callback from the app, update the constant block and restart the simulation from where you left off?
Nils Bigl
Nils Bigl 2023-4-5
Not really. I want to adjust the steering angle of a car with this app and this needs to be recognized immediately by the Simulink model while the simulation is running.

请先登录,再进行评论。

回答(1 个)

Oguz Kaan Hancioglu
There is always delay with communication between simulink and app designer. Maybe writing your reference to workspace and using the variable name in the constant block will reduce the delay.
  3 个评论
Oguz Kaan Hancioglu
Yes, we had the same problem and the problem still continue. We changed the model structure with time-based inputs. In the app, we set the execution time of the input using set_param. At least, we guarantee that Simulink receives the inputs at the desired time.
Nils Bigl
Nils Bigl 2023-4-9
I tried it with Python and its Matlab Engine API but sadly this works only marginally faster than with the App Designer. So Simulink is probably just the wrong tool for doing stuff like this in real time.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Model, Block, and Port Callbacks 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by