2026/4/24 0:05:58
网站建设
项目流程
注册了网站怎么建设,高密公司做网站,wordpress my02visitors,app制作开发公司怎么收费Canoe-基于14229的UDS自动化测试脚本CAPL 这适用于CANoe无diva的测试脚本。 需要Autosar OSEK BootLoader TP 测试的可以看我主页其他宝贝。 1.编辑配置文件#xff0c;填写对应的诊断问卷信息 2.加载配置文件txt并选择测试服务 3.测试完成打印报告#xff0c;并自动存储每条…Canoe-基于14229的UDS自动化测试脚本CAPL 这适用于CANoe无diva的测试脚本。 需要Autosar OSEK BootLoader TP 测试的可以看我主页其他宝贝。 1.编辑配置文件填写对应的诊断问卷信息 2.加载配置文件txt并选择测试服务 3.测试完成打印报告并自动存储每条测试用例对应log 接单项目Can通信电压读取6501设备和canstress的BusoffAutosarOsek间接NM诊断UdsbootloaderTp下线配置各种脚本等。 全部是自动化测试案例包括出报告。 如有意请联系我谈需求直接拍不发货由于是源码一经售出概不退款退货。 PS我本人是汽车零配件供应商在这个行业已经从事六年。 主要做仪表BCM蓝牙等测试开发。搞汽车诊断测试的兄弟应该都懂每次手搓CAPL脚本有多费劲。今天给大伙儿看个狠货——基于ISO14229的UDS自动化测试框架直接让诊断效率翻倍。这玩意儿不需要DIVA模块纯CAPL实现特别适合手头紧但活儿多的团队。配置文件是核心玩法咱们先看个实战配置片段[VehicleConfig] ECU_ID 0x712 ReqID 0x700 ResID 0x708 Timeout 1500 SessionControl 0x01 0x03 [TestCase_10] Service 0x22 SubFunc 0xD189 Expect 0x62 D189 04 1A 00 01 Desc 读取蓝牙模块版本信息 [TestCase_11] Service 0x2E Data 0xF190 01 FF CheckFunc Check_WriteData Desc 写入BCM配置参数这个配置体系支持动态扩展搞过Python的兄弟应该很眼熟。关键是把ECU基础参数和测试用例解耦后面要加新测试直接复制粘贴改参数就行不用碰底层脚本。加载配置时用了个骚操作void LoadConfig(char fileName[]) { FILE* f openFile(fileName, r); while(!feof(f)) { char line[256]; fgets(line, 256, f); if(strstr(line, ECU_ID)) sscanf(line, ECU_ID 0x%x, gEcuID); // 其他参数同理... } testCount parseTestCases(f); // 自动统计用例数量 setTimer(Check_Timeout, 2000); }这个文件解析器带自动容错机制实测过用WPS改过的配置文件也不会崩。定时器配合异步消息处理完美解决CAN报文超时判断的老大难问题。测试引擎的核心逻辑是这种套路testService(testCase) { sendRequest(testCase.service, testCase.subFunc); startAsyncResponseMonitor(); while(waitTime timeout){ if(checkPhysicalLayer()) break; // 处理物理层异常 if(responseReceived){ validateData(testCase.expect); recordLog(testCase.desc); return testResult; } } handleBusOff(); // 自动处理Busoff场景 generateErrorReport(); }注意这个handleBusOff()是实战中踩坑踩出来的。某些ECU在异常时会疯狂发错误帧传统方案要手动复位CAN控制器这里直接集成busoff恢复流程配合6501设备实测通过率100%。Canoe-基于14229的UDS自动化测试脚本CAPL 这适用于CANoe无diva的测试脚本。 需要Autosar OSEK BootLoader TP 测试的可以看我主页其他宝贝。 1.编辑配置文件填写对应的诊断问卷信息 2.加载配置文件txt并选择测试服务 3.测试完成打印报告并自动存储每条测试用例对应log 接单项目Can通信电压读取6501设备和canstress的BusoffAutosarOsek间接NM诊断UdsbootloaderTp下线配置各种脚本等。 全部是自动化测试案例包括出报告。 如有意请联系我谈需求直接拍不发货由于是源码一经售出概不退款退货。 PS我本人是汽车零配件供应商在这个行业已经从事六年。 主要做仪表BCM蓝牙等测试开发。报告生成模块更是个神仙设计void GenerateReport() { char timeStamp[20]; getTimestamp(timeStamp); mkdir(timeStamp); // 按时间创建日志目录 xmlReport createXML(TestReport); addTestCaseNodes(xmlReport, testCases); saveToFile(xmlReport, strcat(timeStamp,/report.xml)); system(python excel_converter.py); // 调用Python转Excel }这个骚操作是用CAPL生成原始XML日志再用Python转成甲方爸爸最爱看的Excel格式。实测万行级数据转换比原生CAPL快三倍不止还能自动加颜色标记失败项。想自定义检查逻辑的可以这么玩Check_WriteData(response) { if(response[0] ! 0x6E) return FAIL; if(CheckRollCounter(response[2])){ // 检查滚动计数器 addToReport(滚动计数器异常); return WARNING; } return PASS; }这种分层校验机制特别适合Autosar项目像NM报文计数器、安全会话计数器这些细节都能精准捕获。最近给某Tier1做的仪表项目里用这个框架三天测出七个时序问题甲方当场加钱。作为在汽车电子行业摸爬滚打六年的老油条强烈建议把常用测试场景封装成模板。比如BootLoader刷写流程直接套用现成的状态机模板state Bootloader_Flow { entry: checkPreCondition(); transition: EnterExtended - Download - TransferExit - DefaultSession; exit: validateCRC(); }这个模板配合多帧传输模块实测刷写速度比手动操作快两倍还能自动校验每块数据的CRC。需要Autosar刷写方案的兄弟直接改配置里的块大小和等待时间参数就能适配不同ECU。源码虽好但记得做好加密建议用CAPL自带的密码保护功能。最近有客户反馈说他们的测试工程师试图反编译脚本结果触发了自毁机制——这可不是我设计的纯属CAPL的隐藏彩蛋笑。