Azzera filtri
Azzera filtri

How can I stream data form MATLAB to Simulink in real time?

4 visualizzazioni (ultimi 30 giorni)
I was trying to use "From Workspace" block but, it gathers the value only once at the beginning of the simulation. I cannot just run a m-code script, save data and then transfer it to Simulink becouse both together need to work with real time vision system. How can I solve that problem?
EDIT:
Thank you very much for your answers. I have tried the solution with S-function that you gave to me, and also by set_param() command, but unfortunately it doesn't work for me how I would like to. The main problem is that there is a need to stop MATLAB script for a moment to let Simulink gather a data, which means I have to use pause() command inside of main for loop of my MATLAB script. If I don't do this, Simulink waits with executing a model at t=0. The problem is that a minimum time for which the m-code script can be stopped by pause() command is approximately 0.0156 s. which is to long for me. That script realize object tracking on the video images from webcam, so such a long pauses causes the fps decrease.
So, my next question, more precise is: Is there any way to stream data from running MATLAB script to running Simulink model without or with just very small delay?

Risposta accettata

Kaustubha Govind
Kaustubha Govind il 26 Nov 2012
You can either use the block RuntimeObject as Vishal suggested, or write a MATLAB S-function.
  1 Commento
Larasmoyo Nugroho
Larasmoyo Nugroho il 12 Set 2017
check my work.. https://www.mathworks.com/matlabcentral/fileexchange/64394-how-to-stream-data-from-m-file-to-simulink-block

Accedi per commentare.

Più risposte (1)

Vishal Rane
Vishal Rane il 26 Nov 2012
Explore the 'RuntimeObject' property of non-virtual blocks.

Categorie

Scopri di più su Programmatic Model Editing in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by