首页 文章

(Simulink)仅在更改时写入数据

提问于
浏览
0

我有以下问题:

Matlab / Simulink给了我警告:

警告:块“数据存储写入1”正在写入数据存储“数据存储”,但块“数据存储写入2”已在时间t写入该存储器的一部分或整个区域

这是因为我的模型看起来像这样:

enter image description here

在Stateflow图表中,代码是:

[hasChanged(In)] {Out = In;}

所以我的问题是:是否有一个选项或其他数据存储写入块只在更改时写入?

注释:

  • 有时会在Stateflow Chart中更改“Out”值,但不会在每个步骤中更改,我需要将此“反馈”存储在Data Store中 . 所以我可以读取/链接Data Store的值 .

  • 我需要使用常量块更改外部的值 .

1 回答

  • 1

    我发现最令人满意的解决方案是构建一个自己的'只写变更'块并将其添加到库中:

    这三张图片显示了从外到内的块的结构:

    enter image description here

    enter image description here

    enter image description here

    子系统在来自变化检测块的上升信号上被触发 . 我还添加了一个掩码来指定保存信号的位置(数据存储/总线名称) .

    enter image description here

相关问题