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
SWITCH toggles the system between the
Power_on has three substates:
Third. By default, when
First also becomes active. When
Shift equals 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 as the
SWITCH event and a Step block as the
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 object
Shift. Ideally, the
SWITCH event 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:
Power_off state, 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
Third inside the state
Power_on does not occur. The transition from
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
to the transition from
Now the transition from
Power_off does not occur until 20 seconds have
Click the Step In button repeatedly to observe the fixed behavior.