Simulink代码生成——SIL测试

Saftware In Loop(SIL)测试即软件在环测试。

1:SIL测试目的

SIL测试的目的就是为了验证自动生成的代码和用于代码生成的模型的行为上是否一致。**即验证生成的代码是否正确。我们把控制策略模型替换成由控制策略模型转换得到的C代码编译后的.DLL文件(注意:SIL使用的是windows下的编译器,例如Visual Studio C++),如果两者的输出效果一致,则认为生成的代码正确也就是说SIL测试是一种等效性测试。如下图:

Simulink代码生成——SIL测试_第1张图片
2:SIL测试

simulink提供了SIL仿真模式,所以我们可以用更方便的方式实现SIL测试。我们首先可以把模型设置成正常模式仿真,然后再设置成SIL模型,然后对比两次的仿真结果。举个例子:SVPWM的算法仿真。

1:首先按正常模式仿真,把生成的结果数据添加到data Logging显示。
Simulink代码生成——SIL测试_第2张图片
Simulink代码生成——SIL测试_第3张图片
2:然后把仿真设置成SIL模式,编译生成SIL模型,注意把 Code Generation——> Generate code only 的沟要去掉。
Simulink代码生成——SIL测试_第4张图片
3:把生成的SIL模型,替代原来的SVPWM模型仿真,把仿真结果数据添加到data Logging ,对比两次仿真结果。
Simulink代码生成——SIL测试_第5张图片

Simulink代码生成——SIL测试_第6张图片
如果仿真结果一致,则表示生成的代码正确。

参考模型:https://download.csdn.net/download/wanrenqi/38500609

你可能感兴趣的:(simulink代码生成,SIL测试)