A state transition table is an alternative way of expressing sequential modal logic. Instead of drawing states and transitions graphically in a Stateflow® chart, use state transition tables to express the modal logic in tabular format. State transition tables are supported only as blocks in a Simulink® model. For more information, see State Transition Tables in Stateflow.
Create a Simulink model with a
new State Transition Table (
Add the following states and transitions to your table:
The table has two states at the highest level in the hierarchy,
Power_off is active. The event
the system between the
Third. By default, when
First also becomes active. When
1, the system transitions from
First, for each
occurrence of the event
SWITCH. Then the pattern
Add two inputs from Simulink:
An event called
SWITCH with a scope
of Input from Simulink and a Rising edge trigger.
A data called
Shift with a scope
of Input from Simulink.
In the model view, connect a Sine Wave block
SWITCH event and a Step block
Shift data for your State Transition Table.
In the model, there is an event input and a data input. A Sine
Wave block generates a repeating input event that corresponds with
the Stateflow event
SWITCH. The Step block
generates a repeating pattern of 1 and 0 that corresponds with the Stateflow data
Shift. Ideally, the
occurs at a frequency that allows at least one cycle through
To debug the table in Create the Model and the State Transition Table, follow these steps:
and select Set Breakpoint > On State Entry.
Start the simulation.
Because you specified a breakpoint on
execution stops at that point.
Move to the next step by clicking the Step In button, .
To see the data used and the current values, hover your cursor over the different table cells.
Continue clicking the Step In button and watching the animating states. After each step, watch the chart animation to see the sequence of execution. Use the tooltips to see the data values.
Single-stepping shows that the loop from
Power_on does not occur. The transition
In Debug the State Transition Table, you step through a simulation
of a state transition table and find an error. The event
the simulation, but the simulation time passes too quickly for the
input data object
Shift to have an effect.
To correct this error:
Stop the simulation so that you can edit the table.
Add the condition
sec) to the transition from
Now the transition from
not occur until 20 seconds have passed.
Click the Step In button repeatedly to observe the fixed behavior.