Simulation does not respond to changing block parameters while simulation using set_param function method
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello,
I am using mutual inductance block to model multiple coupled coils. The mutual inductances of the coil are needed to be changed with time. I have used the set_param function method to change the mutual inductance block parameters. As I run the simulation I can see the block paramters change but the simulation does not respond to the changing parameters. The simulation runs taking in only the initialization parameters. Is there a problem in the way that I am executing the set_param function or this method wouldn't allow me to change block parameters of non signal blocks?
My simulation parameters:
solver type: discrete, step time: (1e-7)
solver: runge-kutta
simulation time: 200 msecs
Following is the set_param script which is executed in a matlab function block in simulink
function ChangeParam(k)
eml.extrinsic('set_param');
eml.extrinsic('mat2str');
BlockName = 'simulation/Hardware/tx_rx/Mutual_Inductance';
BlockParameter = 'InductanceMatrix';
L_Tx = 1.0e-04 *[ 0.2891 -0.0360 -0.0360;
-0.0360 0.3298 -0.0216;
-0.0360 -0.0216 0.3298];
%setting up the self inductance matrix of Rx (3x3)
L_Rx = 1.0e-04 *[ 0.3766 -0.1114 -0.1114;
-0.1114 0.4572 -0.0713;
-0.1114 -0.0713 0.4572];
%setting up the mutual inductance matrix of Tx-Rx (3x3)
L_TR = k*1.0e-05 *[ 0.1765 -0.1956 -0.1957;
-0.1162 0.4378 -0.0213;
-0.1162 -0.0213 0.4378];
% Forming a composite self+mutual inducatnce matrix (6x6)
L_Tx_Rx1 = [L_Tx, L_TR; L_TR', L_Rx];
StringValue = mat2str(L_Tx_Rx1);
set_param('simulation/Hardware/tx_rx/Mutual_Inductance','InductanceMatrix',StringValue);
The following is the mutual indictance block that I am using and want to change the block parameters of,

Following is the blok parameter window, I am changing the inductance matrix block parameter.
Thank you!
Vatan Mehar
1 Kommentar
Paul
am 13 Okt. 2023
Hi Vatan,
I don't change block parameters during simulation, but doesn't the diagram need to be updated after the parameters are changed via set_param? I don't really know for sure.
Antworten (1)
Animesh
am 30 Okt. 2023
According to my understanding, you are unable to update parameter value for a block while running a simulation.
I am not sure why you are unable to update the value of “Inductance Matrix” using “set_param”, you can try updating the model after using “set_param”.
Example update command :-
set_param(modelname,'SimulationCommand','Update')
To read more about “set_param”, refer to the following document :-https://www.mathworks.com/help/simulink/slref/set_param.html
0 Kommentare
Siehe auch
Kategorien
Mehr zu Model References finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!