自从我开始使用这个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模式下运行时,我注意到 Headers 中的模型名称旁边会弹出一个星号 . 由于这意味着模型有未保存的更改,因此可以运行它会导致进行任何更改吗?我已经检查了回调方法,并且在sims启动时没有运行(实际上在任何回调方法中都没有) .
是否存在Simulink在每次运行之前运行的某种基本编译/初始化/构建?我试图在Rapid Accelerator模式下运行我的模型而不重新编译,因为每次编译大约需要45分钟 .
我是否忽略了模型的一些配置参数?是否需要更改一些全局MATLAB / Simulink变量?
1 回答
它正在建设还是正在更新?
通常,当您点击“运行”按钮时,MATLAB必须传播信号,检查模型是否存在错误,初始化变量 . . .
它可能看起来像构建,但要实际确认它正在构建,请检查文件夹中是否有yourmodelname.c文件 .
同时检查“文件菜单”首选项,然后查看其中的功能,看看是否有人调用了某些内容 .