errors while implementing a fuzzy logic controller with feedback ...
5 views (last 30 days)
Show older comments
hi i have a simple temperature control simulink model which I am trying to control using fuzzy logic controller. One input (error between the desired and actual temperature) and one output (control voltage of heater).. however i am getting tons of errors while simulating, some which are:
1. "Input data dependency violation due to action subsystems. See Subsystem Examples in the Simulink library for valid and invalid examples of action subsystems" 2. Input ports (Action) of ".. my model path... " are involved in the loop
there are plenty of more errors all mentioning the "involved in the loop"issue. if i remove the feedback loop and just provide some random no. as my error variable then everything works fine.
any ideas on what might be going wrong ? any suggestions ?
thanks, dipan
0 Comments
Answers (3)
Vidhya Dharshini
on 4 Feb 2014
Try including a memory block or a delay block in feedback loop.....then the system will work fine.
0 Comments
Shashank
on 30 Dec 2016
This may be a case of Algebraic loop formed. Basically, algebraic loops occur when an input port with direct feedthrough is driven by the output of the same block, either directly, or by a feedback path through other blocks which have direct feedthrough.
Algebraic loops are difficult to solve mathematically. Simulink does have algebraic loop solvers that will attempt to resolve this situation iteratively and give the correct answer, which in a lot of cases it does.
You can try placing unit delay blocks before the inputs of Fuzzy Logic Controller.This will avoid the Algebraic loop.
2 Comments
Prana
on 30 Jun 2022
Although an old question, I am also facing the same issue. Kindly give more details about adding this delay block
See Also
Categories
Find more on Fuzzy Logic in Simulink in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!