How to use Classic State Machine outputs in Simulink?

3 views (last 30 days)
I created a classic State Machine using the StateFlow add-on to Simulink. I am able to input various parameters that are updated in my Simulink model, but I am unable to take the outputs of the State Machine and use it elsewhere in my Simulink file. I get an error saying 'UAV_SIM_MAIN_7_0/DECISION ENGINE1/DECISION ENGINE' updates persistent or state variables while computing outputs, therefore it cannot be used in an algebraic loop. However, it is in a loop with the following blocks. For more information, see Algebraic Loops with MATLAB Function and Stateflow Blocks.' I tried changing the State Machine type to a Moore Chart but it does not work with the setup I have with my current State Machine. Is there a way to modify my classic State Machine to allow for its outputs to be used elsewhere in my Simulink model?

Accepted Answer

Andrew Poissant
Andrew Poissant on 20 Dec 2018
Edited: madhan ravi on 20 Dec 2018
After searching around much more I found that adding a memory block to the outputs sent to Simulink solves the issues.

More Answers (0)


Find more on Simulink Functions 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!

Translated by