Simulink简易自动化测试工具,批处理运行模型,能够实现模型简易仿真多次反复测试,简化手动...
Simulink简易自动化测试工具批处理运行模型能够实现模型简易仿真多次反复测试简化手动重复配置参数运行模型保存结果的烦恼已经过FEV大厂已经过多次验证工具可靠稳定。 该工具箱能够对一个Simulink反复运行多次每个测试 case可在Excel文件中配置各种参数并保存运行结果到mat文件。 然后对比结果命令得出是否测试通过或未通过的结论。 以上所有操作均为自动化进行运行过程中产生的提示或错误信息均记录在程序运行结束输出的log文件中。 所有模型信息和参数配置简化为Excel文件中配置需要写入批处理运行的模型名称每次运行模型需要修改的初始化参数模型用到的参数需要加载的mat数据文件以及Simulink运行参数配置例如仿真时间步长等。 运行模型过程中的报错信息也能记录在log文件中当模型出现问题可以查看log文件中提示内容。 所有代码均为m脚本全部开源涉及到excel文件读取log文件记录自动化控制simulink运行自动化控制matlab设置参数配置simulink参数信号结果保存模型测试结果验证。 该程序已经过FEV大厂已经过多次验证工具可靠稳定。 注意该工具需要提前搭建simulink模型和初始化参数文件。 送工具的详细说明使用方法可进行保证您的模型自动化运行测试任务。 使用方法 首先在 Excel 文件中配置测试需求即需要运行模型的次数以及每次运行模型需要配置的初始化参数、加载的mat文件、以及其他命令等都可在Excel中配置。 然后调用工具函数即可开始自动化运行模型测试。Simulink模型测试有多麻烦改参数、跑模型、存结果重复操作简直反人类。最近搞了个一劳永逸方案——用Excel当控制台直接批处理怼模型。先看效果配置20组参数启动脚本去冲杯咖啡回来测试报告和故障日志已经躺在文件夹里了。代码骨架长这样function auto_test() cfg xlsread(test_cases.xlsx); % 吃进Excel配置 log_file fopen(test_log.txt,w); % 开个日志本 diary(simulation_diary.log); % 双保险日志 for n 1:size(cfg,1) try setup_model(cfg(n,:)); % 装填参数 sim(target_model); % 发射模型 verdict validate_results(); % 结果判决 save(sprintf(case%d.mat,n),verdict); % 存档 catch ME fprintf(log_file,Case %d 炸了: %s\n,n,ME.message); end end fclose(log_file); diary off; end别看这代码就二十来行暗藏几个狠招xlsread直接解析Excel参数表建议用readtable更稳注意MATLAB版本diary命令全程录制操作过程配合手动fprintf实现双日志备份try-catch包住单次测试某个case崩了不影响后续任务参数动态加载是核心难点function setup_model(params) load(params.data_file); % 加载.mat输入数据 set_param(target_model/Gain,Value,num2str(params.gain)); % 修改模块参数 set_param(target_model,StopTime,num2str(params.duration)); % 调整仿真时间 % 此处可扩展其他参数配置... end这里用set_param直接修改模型参数比手动点界面快10倍。注意数值转字符串的细节曾经有同事栽在num2str(0.5)输出变成0.5还是.5的坑里。结果验证可以玩得很花function pass validate_results() sig_ref evalin(base,ref_signal); % 从工作区抓参考信号 sig_test evalin(base,test_signal); % 抓被测信号 pass max(abs(sig_ref - sig_test)) 0.01; % 粗暴但有效的判决 end这个验证逻辑简单粗暴实际项目中可以加入时域对齐、统计特征比对等高级操作。遇到过信号延迟导致误判的情况后来加了个finddelay函数做时移补偿。Simulink简易自动化测试工具批处理运行模型能够实现模型简易仿真多次反复测试简化手动重复配置参数运行模型保存结果的烦恼已经过FEV大厂已经过多次验证工具可靠稳定。 该工具箱能够对一个Simulink反复运行多次每个测试 case可在Excel文件中配置各种参数并保存运行结果到mat文件。 然后对比结果命令得出是否测试通过或未通过的结论。 以上所有操作均为自动化进行运行过程中产生的提示或错误信息均记录在程序运行结束输出的log文件中。 所有模型信息和参数配置简化为Excel文件中配置需要写入批处理运行的模型名称每次运行模型需要修改的初始化参数模型用到的参数需要加载的mat数据文件以及Simulink运行参数配置例如仿真时间步长等。 运行模型过程中的报错信息也能记录在log文件中当模型出现问题可以查看log文件中提示内容。 所有代码均为m脚本全部开源涉及到excel文件读取log文件记录自动化控制simulink运行自动化控制matlab设置参数配置simulink参数信号结果保存模型测试结果验证。 该程序已经过FEV大厂已经过多次验证工具可靠稳定。 注意该工具需要提前搭建simulink模型和初始化参数文件。 送工具的详细说明使用方法可进行保证您的模型自动化运行测试任务。 使用方法 首先在 Excel 文件中配置测试需求即需要运行模型的次数以及每次运行模型需要配置的初始化参数、加载的mat文件、以及其他命令等都可在Excel中配置。 然后调用工具函数即可开始自动化运行模型测试。典型使用场景举例车载控制器模型要做20组标定参数测试每组需要加载不同的油门MAP图.mat文件设置不同的滤波系数模型参数仿真时长从10秒到2分钟不等运行参数把这些配置塞进Excel后启动脚本就能自动切换配置、运行模型、生成测试报告。曾经用这套工具一晚上跑完300组耐久测试省了至少40小时人工。避坑指南Excel里别用合并单元格工具会直接解析失败模型加载.mat文件前记得清空工作区防止变量污染测试前务必手动跑一次模型确保基线正常遇到幽灵报错时检查Excel中的科学计数法数值转换这套东西在FEV内部已经调教了三年处理过电机模型并行测试、ADAS场景批量回归等硬核需求。最大的优势不是技术多牛而是把测试过程变成了填表游戏新来的实习生也能半小时上手。工具源码已扔在GitHub搜Simulink批处理测试工具箱就能找到记得Star的时候别把咖啡洒键盘上。