Controller​1/Integrat​or/Continu​ous/Integr​ator' at time 4.9999999999999996E-6 is not finite.

2 views (last 30 days)
JACOB SHELDRAKE
JACOB SHELDRAKE on 21 Dec 2020
Commented: JACOB SHELDRAKE on 25 Dec 2020
Hi guys,
I'm having troubles with my sim. At first I would get errors involving algebraic loops for my boost converter feedback control and I read that unit delays help. After using delay functions I have this error, all my measurements are ~ 10^120, maybe it's trying to divide by zero I'm not sure what's going on with it. If anyone could assist that would be amazing.

Answers (1)

Jemima Pulipati
Jemima Pulipati on 23 Dec 2020
Edited: Jemima Pulipati on 23 Dec 2020
Hello,
From my understanding, the issue you are facing is due to an infinite value returned by one of the blocks that you are using. This infinite value is being fed to the integrator block and thus the error described is being thrown at the integrator block.
To find out which block is giving the output as an infinite value, set the Configuration Parameters by the following steps:
  1. Go to 'Model Settings' of Top Model from Toolstrip
  2. Search for 'Inf or NaN block output' using the search bar present above in Configuration Parameters panel.
  3. Set the value of 'Inf or NaN block output' to 'error' (by default it would be 'none')
  4. Click Apply and OK. Run the model again.
Now you can see an error in the 'Diagnostic Viewer' saying,
An error occurred while running the simulation and the simulation was terminated
Caused by:
Block 'aaa/PV_Boost1/PV Array/Diode Rsh/Math Function' outputs 'Inf' for element 1 of output port 1 at major time step 4E-06
This means that the 'Math Function' block gives an infinite output value. There is a Product block which performs division of inputs and provides the input to the 'Math Function' block, thus causing the error. There is a case where this Product block gets its input as zero thus performing the 'division by zero' and giving out an infinite value. After observing the signals using a Log viewer, I can see that 'VT_ref_array' does give some of the outputs as zero which are passed onto the Product block.
You will have to avoid this division by zero logic in the model to fix this issue.
  1 Comment
JACOB SHELDRAKE
JACOB SHELDRAKE on 25 Dec 2020
Any suggestions on how to avoid dividing by zero? This occurs inside the PV array block which cannot be modified right? Inside the diode Rsh element. Id = Io*(e^(q*(V + I*Rs)/K*T) - 1), the only way this expression can be infinite is if K or T is zero and K is a constant so perhaps my temperature is zero? But I can see that inside IL ctrl T = T_in + 273.15kelvin.

Sign in to comment.

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by