从Matlab脚本写入数据存储

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

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


非常感谢您的帮助

我曾经为Simulink模型构建了一个类似的GUI,并将其放在测试工具中。 为了使这项工作顺利进行,并且不会对Simulink设计造成太多干扰,我将其实现为“2级MatlabS函数”

这确实意味着som接口开销(设置端口及其参数),但您可以将状态流程图中的任何信号输入或输出到这样的块中(如果您都希望获得输出和控制输入,则可能需要z^-1反馈循环)

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

查看2级Matlabs-function的在线帮助,特别是msfuntmpl_basic.m以开始

希望这有帮助。我想指出的是,这要求您将交互限制为stateflow具有输入/输出的交互