我试图加速我的simulink项目,并希望使用加速器模拟模式 .

我的项目的目标是控制循环过程,结构如下:

  • matlab-script,其中实现了所有参数和带参数估计的前馈控制 . 此外,它开始模拟每次迭代的simulink模型 .

  • simulink模型,其中实现了动态系统和前馈控制(基本上是查找表)以及反馈控制 . 所有块的参数由脚本生成的工作空间变量/结构设置 .

计算前馈控制变量,并在每次模拟通过后从模拟数据估计参数 . 然后再次模拟模型 . 模型在迭代期间不会改变,但仍然在每个周期进行编译 . 从第一个开始: Is this solution appropriate for using the Accelerator mode?

我试图按照这些建议的步骤来确定,为什么它是在每次迭代时构建的:mathworks

如果我使用Accelerator-Mode运行它(参考此函数的文档,它现在编译为模拟),我仍然无法重现为什么它在每次迭代时编译 .

csdet1.ContentsChecksum.Value ~= csdet2.ContentsChecksum.Value

是的,但建议的代码没有找到任何细节 .

csdet1.InterfaceChecksum.Value ~= csdet2.InterfaceChecksum.Value

也是如此,建议的代码输出

UserDefinedTypesChecksum

是不同的 . 这是什么意思,我该如何解决这个问题?

Sidefact:当我在Simulink和Normal-Mode中选择模型运行Simulink.BlockDiagram.getChecksum()时,我收到此错误:

为此图表图表名指定的持续更新RTW不支持此功能 . “

但是这个图表是Matlab-Function块,而不是状态流图表?!