Take a look and give me your opinion about how to break the Algebraic Loop

2 visualizaciones (últimos 30 días)
I present you in the attached documents a DC load modeled, but I do not know how to model it without produce a ALGEBRAIC LOOP when i try to sense at the same time the voltage variation from battery against the time, I produce a algebraic loop by a feedback, that's why i set in the rigth place where should be a path to the voltaje meter a constant block, but for it's condition (constant block) it will not register the variability from the DC voltaje than supply the load demand, but it runs, I know than i'm near to the answer, because i need collect the battery discharge in funtion of the consumption that is variable in funtion of the time, i also need to see the current variation in amperes per load consume, and the %SOC versus the time. I will show you both with with and without Algebraic Loop Please help me with this.
  2 comentarios
Rakesh Chavan
Rakesh Chavan el 6 de En. de 2016
Hi,
I was trying to simulate your model however some variables are missing in the Init call back of the model are missing. Can you please share those as well so that we can simulate the model.
Tony Castillo
Tony Castillo el 8 de En. de 2016
t=60 Temp=1 E=1 This are the variables that are missing in the model, excusme for forget it, thanks for interest showed by it

Iniciar sesión para comentar.

Respuesta aceptada

Dennis
Dennis el 7 de En. de 2016
Is a delay acceptable? The Simulink User Guide suggests it at Page 13-13 "Cyclic Data Dependency".
Try inserting it between the looped signal and an input to one block. Does it work?
  2 comentarios
Tony Castillo
Tony Castillo el 8 de En. de 2016
I set a memory block (is that you mean with add a delay block?), and happen this errors, it does not work my friend
Dennis
Dennis el 21 de En. de 2016
Editada: Dennis el 21 de En. de 2016
You could try to include the memory block after the green box, or at another place. That error means that one of the signal changes suddenly like a step signal and hence, the derivative is non finite. If you cannot help yourself by altering the position of the delay, try to include a transfer function with a fast filter like nom [1] and den [0.001 1], it will smoothen out your derivative. However, that last suggestion is not perfect.
Also, you can try to use "unit delay" instead of the memory block, but that might not be your issue. If you found a solution, please tell us what worked out for you.

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 7 de En. de 2016

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by