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

7 views (last 30 days)
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 Comments
Luca Ferro
Luca Ferro on 5 Apr 2023
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 on 5 Apr 2023
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.

Sign in to comment.

Answers (1)

Oguz Kaan Hancioglu
Oguz Kaan Hancioglu on 6 Apr 2023
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 Comments
Oguz Kaan Hancioglu
Oguz Kaan Hancioglu on 7 Apr 2023
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 on 9 Apr 2023
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.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!