问题是:在我添加UKF模块前,可以正常地联合仿真;添加UKF模块之后,总会报错,意思大概是carsim的S-function 的输出部分的变量个数总是与预设的不相符。
实际上我在Carsim里面的输出设置就是39,而这里问题的描述却说Carsim输出是16,提示demux数目应该改为16。
我在网上找了很久,常规的方法如下:
一、双击carsim s-function2,里面的simfile name里面填上simfile.sim即可,之后重启软件。
二、也可以重启Carsim,重新send to simulink.
三、重启电脑。
这个常规的办法我反反复复试了不知道多少次,结果还是不行。多次调试之后,我找到了问题所在。
原因,解决办法:Carsim的S-function 的运行目录中必须包含simfile.sim这一项才可以正常运行。而我在运行UKF之前总是需要外界的m文件来对其进行配置,这就导致了matlab的运行目录被调换到了其他文件夹(不包含simfile.sim)。
运行文件夹,注意需要包含simfile.sim
总结:本质上还是simfile.sim导致的Carsim 运行不正常