How to make a simulink model which runs using a output it calculates at each step and to its next calcuation

4 views (last 30 days)
I am looking to run a piece of simulink model which uses a final output in it's intremin calculations. For example, I have tried using phiFilterTrapped to feedback the value the switch action cases but it throws an error
Input data dependency violation due to action subsystems. See Subsystem Examples in the Simulink library for valid and invalid examples of action subsystems
Component: Simulink | Category: Model error
Input ports (1, 2) of 'SubRate_Threshold/Merge1' are involved in the loop.
Component: Simulink | Category: Model error
Input ports (1) of 'SubRate_Threshold/If Action Subsystem1' are involved in the loop.
I read couple of stratergies shown in these links here and here 2 but what my target it to feedback the value phiFilterTripped back to it source for re calculation. I programming language I using C where i just keep the variable in a loop for simulation time.

Accepted Answer

Kiran Felix Robert
Kiran Felix Robert on 24 Mar 2021
Hi Akshay,
You get the 'Data Dependency Violation error' because you have not latched the inputs to your function-call subsystems. Refer this answer for the procedure Latch your inputs to the switch-case subsystems.
Refer this blog for more information - To Latch or not to Latch ?
The To Workspace blocks saves the simulation data only after the simulation ends (After the last time step) not intermittently, so Latching your inputs to the subsystem will be the best way to have a feedback loop.

Sign in to comment.

More Answers (0)





Community Treasure Hunt

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

Start Hunting!