Saftware In Loop(SIL)测试即软件在环测试。
1:SIL测试目的
SIL测试的目的就是为了验证自动生成的代码和用于代码生成的模型的行为上是否一致。**即验证生成的代码是否正确。我们把控制策略模型替换成由控制策略模型转换得到的C代码编译后的.DLL文件(注意:SIL使用的是windows下的编译器,例如Visual Studio C++),如果两者的输出效果一致,则认为生成的代码正确也就是说SIL测试是一种等效性测试。如下图:
2:SIL测试
simulink提供了SIL仿真模式,所以我们可以用更方便的方式实现SIL测试。我们首先可以把模型设置成正常模式仿真,然后再设置成SIL模型,然后对比两次的仿真结果。举个例子:SVPWM的算法仿真。
1:首先按正常模式仿真,把生成的结果数据添加到data Logging显示。
2:然后把仿真设置成SIL模式,编译生成SIL模型,注意把 Code Generation——> Generate code only 的沟要去掉。
3:把生成的SIL模型,替代原来的SVPWM模型仿真,把仿真结果数据添加到data Logging ,对比两次仿真结果。
如果仿真结果一致,则表示生成的代码正确。
参考模型:https://download.youkuaiyun.com/download/wanrenqi/38500609