Questions about Simulink continous Integrator

1 view (last 30 days)
yogesh
yogesh on 5 Apr 2017
Answered: yogesh on 11 Apr 2017
I have a couple of questions about the continuous integrator in Simulink on which I've been stuck for a while and would appreciate some help.
1) Can we have a continuous integrator inside an atomic subsystem?
2) Consider the model shown below (Subsystem1 is atomic). The model shown below seems to run without any issues.
In the second case, we have an additional gain block as shown. This model fails to compile and shows an algebraic loop error. I am unable to explain why this is the case.

Answers (2)

Gillian Rosen
Gillian Rosen on 10 Apr 2017
Edited: Gillian Rosen on 10 Apr 2017
Hi Yogesh, 
I understand that you would like to know 1) if continuous Integrator blocks may be used in atomic subsystems, and 2) why your two example models behave differently with regards to algebraic loops.
1) Yes, continuous Integrator blocks may be used in atomic subsystems. Please note that models that use continuous blocks should also use continuous solvers. 
2) As you may have already suspected, the issue has to do with the block execution order.
In your first model (no Gain inside the atomic subsystem), the Integrator provides initial conditions, then the Gain uses them, so execution order can be successfully established for all blocks in the model.
In your second model, the Integrator will still need to execute first, since it provides initial conditions for the model. Since the Integrator is in an atomic subsystem, the whole subsystem will have to execute before anything outside of it. However, the Gain inside the atomic subsystem (before the Integrator) needs the output of the other Gain block (outside the atomic subsystem) in order to compute its own output. This is where the algebraic loop arises- the inner Gain needs the outer Gain to execute first, and the outer Gain needs the inner Gain to execute first. 

yogesh
yogesh on 11 Apr 2017
Hi Gillian,
If I get what you are saying, this is what you mean :
In the second case, the integrator produces an output first, then the output of the gain block is computed from the input of the atomic subsystem. The input of the atomic subsystem is the output of the outside gain block, and the output of the outside gain block is a function of its input. The input to the outside gain block is the output of the atomic subsystem. Hence, it's like the input to the atomic subsystem is a function of its output - this creates the algebraic loop.
It seems that by 'execution' of a block means to compute its output. Since the integrator has a state, its output is the state value at any given time.

Categories

Find more on General Applications in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!