How can i call a state machine which is inside a function.Function is called iteratively?
2 次查看(过去 30 天)
显示 更早的评论
Hi ,
I want to call a function inside a loop. The function has a Statemachine in it.
Below is the Pseudo "C" code for which the equivalent stateflow model is required.
for(i=0;i<2;i++)
{
CallStatechart(i);
}
CallStatechart(j)
{
case A:......out[i]=...;
case B:......out[i] =...;
case C:......out[i] =...;
}
2 个评论
Walter Roberson
2018-9-14
State machines in C are usually more like
current_state = 0;
for (i=0; i<2; i++)
{
current_state = CallStatechart(current_state, i);
}
int CallStatechart(int current_state, int statenum)
{
switch(current_state)
{
case A: ....; new_state = ...; break
case B: ....; new_state = ....; break;
...
}
return new_state;
}
This permits reactions to be conditional on the current state, and permits the state to be changed in non-linear ways.
回答(1 个)
Muthukumar Ganesan
2022-8-1
Hi,
This requirement can be achieved by implementing the statemachine inside the "For Iterator Subsystem" in simulink. Please refer to the attachment.
Thanks.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Stateflow Charts 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!