0

所以我想做的是:我有一个 simulink 状态流模型。为了显示这个模型中的一些东西,我构建了一个 GUI。在这个 GUI 中,我有一个按钮,按下时应该将标志设置为 true,我想在我的 stateflow 模型中使用它来启动转换。因此,每当我在状态流中进入某个状态时,我都会将标志的值设置为 false,并且我希望在按下按钮时将其设置为 true。不幸的是,我找不到任何方法可以通过 GUI 回调函数在状态流中设置本地参数。我尝试过使用数据存储内存块,但即使我可以从状态流模型内部设置值,我也无法从 GUI 的回调函数中设置值。

帮助将不胜感激!

4

1 回答 1

0

我曾经构建了一个类似的 GUI,并将其放入 Simulink 模型的测试工具中。为了完成这项工作,而不是过多地干扰我作为“Level 2 Matlab S-Function”实现的 Simulink 设计。

这确实意味着一些接口开销(设置端口及其参数),但是您可以将状态流程图中的任何信号作为输入或输出的信号放入这样的块中(如果您可能需要 az^-1 反馈循环你们都想获得输出和控制输入)。

可以从 Start 块调用 GUI 代码,并在“Update”段中读取值。如果按钮被激活,则将其保存在输出函数中评估的变量中,然后设置输出端口以指示此事件(如果需要,使用复位逻辑)。

查看 Level 2 Matlab S-Function 的在线帮助,尤其是 msfuntmpl_basic.m 以开始使用。

希望这可以帮助。我想指出,这要求您将交互限制为状态流具有输入/输出的交互。

于 2017-02-11T15:23:25.207 回答