摘要:在VCU软件开发中,需要根据输入的控制策略在Simulink中搭建VCU应用层模型,在Simulink模型搭建完成后,需要对搭建的模块进行模块测试,即模型在环测试(Model-In-Loop MIL),已验证模型控制逻辑是否符合控制策略的要求。本文通过对空调控制策略模型的MIL测试,介绍MIL测试的基本流程与方法,并对遇到的问题进行解析与处理。
一、电动汽车空调控制策略
1、空调启动条件:车辆状态 READY &接收到空调开关请求&蒸发器温度≥3℃
2、空调停止条件:车辆状态 READY 失效||无空调开关请求||蒸发器温度≤1℃
3、空调启动后,发送压缩机转速指令:2700rpm;
当蒸发器温度>8℃时,发送压缩机转速指令:2700rpm;
当蒸发器温度≤8℃时,发送压缩机转速指令:2000rpm
当蒸发器温度≤ 3℃时,发送压缩机转速指令:1500rpm
回差温度 3℃,
即 3℃以下 1500rpm 时,升高到≥6℃时,转速指令:2000rpm
8℃以下 2000rpm 时,升高到≥11℃时,转速指令:2700rpm
注:1、相关温度设定参数为暂定,需实车标定,请在程序设置方便现场标定。
二、空调控制策略Simulink模型搭建
使用Matlab 2022b,搭建空调控制策略模型
三、空调控制策略Simulink模型MIL测试操作步骤
1、打开搭建的空调控制策略模型,并打开app选项卡,选择Simulink Test
2、选择Simulink Test Manager
3、在新建选型中选择AUTO CREATE,Test from Spreadsheet,此选项可以从表格建立MIL测试工程,便于将测试用例输入生成的标准格式excel表格中,进行测试。
4、选择选项Create a test template file for specifying data,可以新建一个带有固定格式的空白excel表格,首次创建选择此项;如果已经有对应格式的测试用例excel表格,可以选择第一项 Use existing test data from a spreadsheet
5、在模型中打开Simulin Test,默认会关联当前模型
6、全部选项都勾选,第3项Comparison signals,可以在测试生成的结果中给出期望输出结果和实际输出结果的对比图
7、点击Next
8、点击文件夹图标,自己命名新建测试文件及测试用例excel表格
9、设置完成,查看生成的测试用例excel表格的存储路径
10、打开表格,系统会根据模型的输入输出信号,生成固定格式的测试用例excel表格。
11、根据控制策略制定测试用例,并将测试用例的输入信号及期望输出信号数值放在这个表格中,保存文件。
12、点击Run,开始运行MIL测试
13、生成的结果会在Results中,可以点开查看不同信号的测试结果。
四、空调控制策略Simulink模型MIL测试问题及排查解决方法
1、测试结果中,Baseline Criteria Result中显示根据测试用例期望输出信号数值及模型运行后实际输入信号数值的对比结果,其中上方图表中显示每个时刻的输出信号数值,下方图表为测试结果,有问题的会显示红色。此次测试在13s 出现了空调使能信号实际输出信号比期望输出信号晚,报了故障。
2、测试结果中,空调压缩机转速实际输出信号值与期望值相比也不能完全对应,报了故障。
3、检查测试用例表格设置是否与控制策略一致,13s时,蒸发器温度由2℃上升至5℃,空调请求信号及ready信号有效,期望输出空调使能信号为1,期望输出空调压缩机转速为1500rpm,与控制策略一致,无问题。
4、检查控制策略模型,空调使能温度判断模块设置为蒸发器温度大于3℃,空调压缩机使能为1,与控制策略保持一致,无问题。
5、点击模型设置,检查模型设置参数
6、模型设置参数中求解器类型为变步长,可能是由于步长设置为变步长导致测试结果错误,对其进行修改。
7、修改模型设置参数,求解器选择类型为定步长,求解器选择离散(无连续状态),固定步长(基础采样时间选择为0.01s),确定保存模型设置参数。
8、重新点击Run,运行测试,测试结果无问题,STATUS状态都显示绿色,空调使能信号测试输出信号与期望输出信号保持一致。
9、空调压缩机转速信号测试输出信号与期望输出信号保持一致。
五、总结
以上以电动汽车空调控制为例,介绍了一种MIL测试的方法,这种以表格建立测试用例的方法我认为比较方便,也便于将事先制作的测试用例生成固定格式的测试用例表格。此方法同样适用于其他控制模块的MIL测试。如果找不到Simulink Test模块,可能是Matlab版本太低了, R2021a之后的版本都有这个模块。