我有以下问题:
Matlab / Simulink给了我警告:
警告:块“数据存储写入1”正在写入数据存储“数据存储”,但块“数据存储写入2”已在时间t写入该存储器的一部分或整个区域
这是因为我的模型看起来像这样:
在Stateflow图表中,代码是:
[hasChanged(In)] {Out = In;}
所以我的问题是:是否有一个选项或其他数据存储写入块只在更改时写入?
注释:
-
有时会在Stateflow Chart中更改“Out”值,但不会在每个步骤中更改,我需要将此“反馈”存储在Data Store中 . 所以我可以读取/链接Data Store的值 .
-
我需要使用常量块更改外部的值 .
1 回答
我发现最令人满意的解决方案是构建一个自己的'只写变更'块并将其添加到库中:
这三张图片显示了从外到内的块的结构:
子系统在来自变化检测块的上升信号上被触发 . 我还添加了一个掩码来指定保存信号的位置(数据存储/总线名称) .