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

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

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?
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)

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

Thanks for the answer but sadly nothing changed. I saw that the app input is just generally slow when a Simulink model is running no matter if there is any data transfer between app and model. The input works in real time when there is no model running.
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.
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.

Categories

Asked:

on 5 Apr 2023

Commented:

on 9 Apr 2023

Community Treasure Hunt

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

Start Hunting!