Simulink 自动代码生成电机控制:软件在环测试(SIL)步骤总结

目录

 

前言

模型配置

SIL模型生成

模型仿真对比

总结


 

前言

电机模型仿真可以叫做模型在环测试(MIL),至于SIL就是软件在环仿真测试,说白了就是验证生成的代码有没有问题,如果有问题那在模型里面修复,不要着急在硬件上测试,Simulink通过生成代码再把生成的代码打包成模型的形式,验证生成代码是否可靠,可以测试代码覆盖率,验证生成代码之后数据是否失真啥的。有时候模型仿真没问题,但是生成代码在系统上运行就表现不一样了,之前踩过坑,所以上机前做一下SIL也是有必要的。接下来就介绍下如何实现SIL的具体步骤

模型配置

配置模型参数,展开Code Generation找到Verification, 再找到Advanced parameters,就是最下方的三个小点点,选中SIL。

Simulink 自动代码生成电机控制:软件在环测试(SIL)步骤总结_第1张图片

 既然选了SIL,就不能勾选 Generate code only, 这里的Toolchain默认自动选也没问题,要对C代码进行调试的话装一个Visual_studio,这里我们不需要就不安装了,基本没有用到对C代码进行调试的必要,实测用MinGW64也是可以的。Simulink 自动代码生成电机控制:软件在环测试(SIL)步骤总结_第2张图片

 到这里准备工作就做好了

SIL模型生成

点开主模型,对子模型进行生成SIL模型的操作,右键点开C/C++ Code,选择Build This subsystem.

Simulink 自动代码生成电机控制:软件在环测试(SIL)步骤总结_第3张图片

 弹出如下窗口,点BuildSimulink 自动代码生成电机控制:软件在环测试(SIL)步骤总结_第4张图片

 等一会儿就会弹出如下窗口,这个就是生成代码后再打包得到的SIL模型Simulink 自动代码生成电机控制:软件在环测试(SIL)步骤总结_第5张图片

 可以对其进行保存,方便追溯9346855e9d234e308b8c35e730101675.png

 拷贝到主模型界面,如下:Simulink 自动代码生成电机控制:软件在环测试(SIL)步骤总结_第6张图片

 SIL模型生成,准备仿真对比

模型仿真对比

注释掉SIL模型,先对原来的模型进行仿真验证,如下图:

Simulink 自动代码生成电机控制:软件在环测试(SIL)步骤总结_第7张图片

 再把原来的模型剪切出来,替换成SIL模型,并对其进行仿真验证

Simulink 自动代码生成电机控制:软件在环测试(SIL)步骤总结_第8张图片

 

 仿真结束后,点开Data Inspector, 如下所示:

Simulink 自动代码生成电机控制:软件在环测试(SIL)步骤总结_第9张图片

 对比两次仿真的结果,不出意外几乎一致,这表示生成的代码没有问题

 Simulink 自动代码生成电机控制:软件在环测试(SIL)步骤总结_第10张图片

 设置容差进行比较

Simulink 自动代码生成电机控制:软件在环测试(SIL)步骤总结_第11张图片 

总结

简单介绍了SIL软件在环测试的步骤,非常简单,更深层次的东西可以根据流程需要再去挖掘,先总结到这里。 

 

 

你可能感兴趣的:(调试技巧,Simulink,电机控制,嵌入式硬件,Simulink)