Simulink model generate different results with tha same parameters

29 visualizaciones (últimos 30 días)
Raymond Wong
Raymond Wong el 26 de Mzo. de 2022
Respondida: Poorna el 9 de Feb. de 2024
I built a Simulink induction motor with ITSC fault model and tried to simulate it. I configured the necessary parameters in Model Properties——Callbacks——InitFcn. With the same parameters, I get the different simulation results first time and second time, but after the first time, the results are the same. I'm confused, why is that? I'm pretty sure there're no random functions in my model. Below are configurations of parameters and simulation results. You can tell that the transient process of the first time is shorter than the second time, and in steady state, the amplitude of ia, the yellow sine wave, is larger than other two.
Parameter configuration
first time result
Second time result

Respuestas (2)

Githin George
Githin George el 8 de Feb. de 2024
Hello Raymond,
Upon reviewing the "InitFcn" you've shared, one of the probable reasons for the varying outcomes between the initial and later simulation runs is the sequence in which the instructions are executed. Specifically, the parameter initialization “Lls = Ls-Lm” and “Llr = Lr-Lm” happens before the value “Lm” is defined and as a result the first run has corrupted or dummy values for “Lls” and “Llr”.
The simulation should in fact error out the first time as well, since the value “Lm” is undefined, but it is not the case. A possible reason is that the value “Lm” had already been initialized in the base workspace. During the compilation phase of the first simulation, the value of “Lm” is correctly updated to 0.64 resulting the subsequent simulations to yield the correct output.
To resolve the issue, you can change the order of instructions in the “InitFcn” as shown below.
Lm = 0.64;
Llr = Lr-Lm;
Lls = Ls-Lm;
I hope this helps.

Poorna
Poorna el 9 de Feb. de 2024
Hi Rayond,
I see that you are getting different results for each run of the simulation after you open a model. But the initial run results are always the same each time you open the model freshly.
It is hard to find the exact reason why this is happening without the access to the model. But, based on my experience with similar situations, one of the reasons why this could happen is when you are trying to load any parameters from a MAT file or a script before opening the model.
The parameters then would be loaded to the workspace and accessed from there. And during the first run these parameter values might be modified which will give different results for future runs.
Check if any parameters are loaded from workspace and make sure to include them in the initFcn” callbacks.
To know more about the “initFcn” callback, please refer to the following documentation:

Categorías

Más información sobre Simulink en Help Center y File Exchange.

Productos


Versión

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by