Need help on fixing Stateflow model.

5 views (last 30 days)
Jung Sunghun
Jung Sunghun on 20 Jan 2023
Answered: Fangjun Jiang on 20 Jan 2023
Hello, I would appreciate if you help me on fixing my Stateflow model.
I am currently building a Stateflow model to control the amount of charging current flowing into a battery pack and control logic can be found in the following figure.
To achieve objective, I decided to use a Stateflow based model built as follows, but I contronted an error message shown below.
Variables used are listed and defined as below.
The model file is attached in here. I do appreciate your time on considering this issue.

Answers (1)

Fangjun Jiang
Fangjun Jiang on 20 Jan 2023
First, "d" is not a parameter. You need to change it to be a "local data" and give an initial value, e.g. 0.
The error message regarding "default transition" is puzzling. To me, it seems to be a new type of error related to a "default transition". My guess is this. The chart contains states, thus it is a "state chart", not a pure "flow chart". The "default transition" has to be guaranteed to reach a state. Your logic has various conditions and it is not guaranteed, thus the error.
The easiest fix is to insert a blank state between your default transion and your top junction. The model then simulates. Obviously, this blank state is reduntant. You might want to change your implementation. For example, move the condition for "Bat_cur" outside of the chart.
One more improvement, there is no need to fill the "[Bat_vol>=Bat_vol_max]" condition. Leave it empty.
You don't need to write this code
if a>0
elseif a<=0
Instead, you can write
if a>0


Find more on Complex Logic 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!