每次不进行任何更改时,Simulink模型都会重建

时间:2014-03-21 23:32:32

标签: matlab simulink

自从我开始使用这个Simulink模型以来,我一直有这个问题。无论我尝试什么,Simulink每次运行时都会重建模型。我使用以下过程查看了校验和:

>> [cs1, cs1det] = Simulink.BlockDiagram.getChecksum(<model name>);
>> (Here I hit run on the model without changing anything)
>> [cs2, cs2det] = Simulink.BlockDiagram.getChecksum(<model name>);
>> cs1 == cs2
    1
    1
    1
    1

如果校验和相同,为什么Simulink会重建模型?我确实创建了另一个模型,其中包含一些简单的逻辑,编译完成后,我可以多次运行它而不需要Simulink重新编译它。

此外,当我在Rapid Accelerator模式下点击运行时,我注意到标题中的模型名称旁边会弹出一个星号。由于这意味着模型有未保存的更改,可以运行它会导致进行任何更改吗?我已经检查了回调方法,并且在sims启动时没有运行(实际上在任何回调方法中都没有)。

Simulink每次运行之前都会运行某种基本的编译/初始化/构建吗?我试图在Rapid Accelerator模式下运行我的模型而不重新编译,因为每次编译大约需要45分钟。

我是否忽略了模型的某些配置参数?是否需要更改一些全局MATLAB / Simulink变量?

2 个答案:

答案 0 :(得分:1)

是构建还是更新?

通常,当您点击“运行”按钮时,MATLAB必须传播信号,检查模型是否存在错误,初始化变量。 。

它可能看起来像构建,但要实际确认它正在构建,请检查文件夹中是否有yourmodelname.c文件。

同时检查“文件”菜单首选项,然后查看其中的功能,看看是否有人调用了这些功能。

答案 1 :(得分:0)

您能否尝试在参考模型上将配置参数->代码生成->接口->代码替换库设置为无(以防您的需求与GNU库不相关...)? 顺便说一句,它为我工作。