【问题标题】:Setting Events in Matlab/Simulink Stateflow在 Matlab/Simulink Stateflow 中设置事件
【发布时间】:2012-10-12 09:33:46
【问题描述】:

如何根据某个值在 Simulink Stateflow(状态图)中设置事件。我的意思是这个。 我有一个名为“选择”的变量。这个“选择”作为来自 simulink 块的输入。选择的值在 1 到 4 之间。所以我要做的就是:

if choice == 1 then trigger/set eventBlue
if choice == 2 then trigger/set eventRed
if choice == 3 then trigger/set eventWhite
if choice == 4 then trigger/set eventGreen
else trigger/set eventYellow

那我该怎么做呢?命令是什么?

【问题讨论】:

    标签: matlab simulink stateflow


    【解决方案1】:

    我建议你看看 stateflow 网络研讨会:http://www.mathworks.com/products/stateflow/。还有许多状态流示例可以帮助您了解如何使用该库。检查此帮助网页: http://www.mathworks.com/help/stateflow/examples/index.html

    很难确切地知道你想要做什么,但你可以画出指示状态变化的箭头,并添加一个检查变量选择值的函数。首先,您必须配置您的状态图以承认“选择”作为来自 simulink 的输入。定义状态并在箭头转换中输入“[choice == 1]”、“[choice == 2]”等(没有“”)。

    你应该得到一个这样的模型:

    脉冲发生器配置为创建一系列 0 和 1,以激活转换。

    希望这会有所帮助,

    【讨论】:

      【解决方案2】:

      对于您描述的问题,我建议您查看 Stateflow 中的inner transitions。使用内部转换,您可以避免使用[x==1] 等条件创建从每个状态到每个其他状态的转换...

      链接的文档页面上的示例应该让您了解如何实现这一点。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多