Running external m-file during simulation

3 visualizzazioni (ultimi 30 giorni)
Pawel
Pawel il 17 Giu 2013
I'm preparing a model of heat pump in simulink. For obvious reasons I need to have actual thermodynamic parameters of fluid all time. NISTs program - Refprop is giving this possibility. I have the code in *.m file (it's a function) and I need to run it for every time step. The calculation base on two parameters from my simulink model (e.g. temp and pressure) and there is necessity to transport them into matlab workspace to use it for calculation *.m file. Is it a good way to use "Embedded Matlab function"?:
function y = fcn(u)
eml.extrinsic('assignin');
assignin('base','volume_work',u);
y = 1;
And how to trigger running calculation *.m function every time step? The result of this function is needed to continue simulink calculations...
Than a lot for every help!

Risposte (3)

Kaustubha Govind
Kaustubha Govind il 17 Giu 2013
I would recommend that you use the To Workspace block if you need to log a signal to the MATLAB workspace.
Also, the block is automatically run at every time-step, however, you are over-writing the value of the 'volume_work' variable in the workspace every time that the block is executed.

Pawel
Pawel il 17 Giu 2013
Modificato: Pawel il 18 Giu 2013
Thank You for answer and help, but the main problem is: how to trigger external *.m file every time step. I have no idea how to do that...
  1 Commento
Kaustubha Govind
Kaustubha Govind il 18 Giu 2013
You can use the Embedded MATLAB Function block or Interpreted MATLAB Function block to call into MATLAB code in a Simulink model. Both are in the Simulink 'User Defined Functions' sub-library.

Accedi per commentare.


Pawel
Pawel il 18 Giu 2013
Up... Anyone? some tips, advices?
Please help, it's very important.
  1 Commento
Jan
Jan il 18 Giu 2013
All questions are important for their authors, of course.

Accedi per commentare.

Categorie

Scopri di più su Interactive 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