Azzera filtri
Azzera filtri

why the error in the following " set_param(​BlockName,​BlockParam​eter,Strin​gValue); "

2 visualizzazioni (ultimi 30 giorni)
I am trying to change the parameters inside a Linear Transfomer Magnetization resistance and inductance [Rm(pu) Lm(pu)]:. These parameters are named as RmLm when I view the mask. I am using Embedded MATLAB function block to set the parameters using set_param. The full code for MATLAB function block as following:
function ChangeParam(u) %#codegen
coder.extrinsic('set_param');
coder.extrinsic('num2str');
BlockName = 'Transfomer_Dynamic/Linear Transformer';
BlockParameter = 'RmLm';
StringValue = [num2str(u) ' ' num2str(u)];
set_param(BlockName,BlockParameter,StringValue);
I am getting the following error and I tried to find the debug but I am not be able. could anyone help or recommend me any suggestions ?
Cannot change parameter 'Magnetization resistance and inductance [Rm(pu) Lm(pu)]: (RmLm)' of 'Transfomer_Dynamic/Linear Transformer'
while simulation is running Error in 'Transfomer_Dynamic/MATLAB Function' (line 10) set_param(BlockName,BlockParameter,StringValue);

Risposte (1)

Walter Roberson
Walter Roberson il 10 Mag 2023
Modificato: Walter Roberson il 10 Mag 2023
Only tuneable parameters can be changed while the simulation is running.
In some situations it is workable to run a MATLAB function that sets parameters, then invokes sim() with a stop time, then examines results, and loops back to try different parameters.
  6 Commenti
Willim
Willim il 14 Mag 2023
Modificato: Walter Roberson il 14 Mag 2023
>> paramInfo.RmLm
ans =
struct with fields:
Prompt: 'Magnetization resistance and inductance [Rm(pu) Lm(pu)]:'
Type: 'string'
Enum: {}
Attributes: {'read-write' 'read-only-if-compiled' 'link-instance'}
This emphsizs that Magnetization resistance and inductance [Rm(pu) Lm(pu)] is not tunable. It cannot be changed during simulation running.
My question now is what is the way around it to have a model with tunable Magnetization resistance and inductance [Rm(pu) Lm(pu)]. Is there any way ?. If not, what is your recommendation ?
Walter Roberson
Walter Roberson il 14 Mag 2023
I do not know if there is a work-around. I think it would be worth experimenting with making the value a global variable as is discussed in the link, but I do not know if it will work.

Accedi per commentare.

Categorie

Scopri di più su Simulink Functions in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by