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

7 visualizaciones (últimos 30 días)
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 comentarios
Luca Ferro
Luca Ferro el 5 de Abr. de 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 el 5 de Abr. de 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.

Iniciar sesión para comentar.

Respuestas (1)

Oguz Kaan Hancioglu
Oguz Kaan Hancioglu el 6 de Abr. de 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 comentarios
Oguz Kaan Hancioglu
Oguz Kaan Hancioglu el 7 de Abr. de 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 el 9 de Abr. de 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.

Iniciar sesión para comentar.

Categorías

Más información sobre Model, Block, and Port Callbacks en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by