Simulink change detection from MATLAB

1 visualizzazione (ultimi 30 giorni)
My Matlab script generates a stochastic Load Profile data and I have a simulink model that is getting this data from 'From Workspace' block. I will call this block LP.
What I want to do is; when I copy this LP block and create another block manually from Simulink, I want MATLAB to detect this change and run the model for a new stochastic data for the new block.
My question is if it is possible to achieve ? Otherwise I have to transfer whole model from Matlab to Simulink.
Thanks in advance.
Onat

Risposta accettata

Fangjun Jiang
Fangjun Jiang il 2 Ott 2019
Right click this "From Workspace" block in your model, select "Properties", select the "Callbacks" panel, select the "CopyFcn" in the left column, on the right panel, type in the MATLAB script or function that generates the stochastic data.
  2 Commenti
Mustafa Onat Güney
Mustafa Onat Güney il 2 Ott 2019
Modificato: Mustafa Onat Güney il 2 Ott 2019
Hey, thank you very much for quick answer, very useful feature.When I do that, the new block changes but it overwrites the new data on the previous block as well. (Because 'From Workspace' block reads the same named data). So, I still have one set of data which I actually intend to have seperate data whenever I copy them. Is there a way to lock the initial blocks preventing from change when I callback ?
Best !
Fangjun Jiang
Fangjun Jiang il 2 Ott 2019
What you need is to use set_param() in the CopyFcn callback to change the variable name in the "From Workspace" block and make sure the new data variable name generated in MATLAB matches it. For example
set_param(gcb,'VariableName','NewData')

Accedi per commentare.

Più risposte (0)

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by