UDS 诊断测试技能
v2.8.0UDS 诊断测试技能。 使用时:收到诊断调查表、UDS 诊断调查表、生成 UDS 测试脚本、基于诊断资料生成测试、执行 UDS 诊断测试、CAN 测试、DID 测试、DTC 测试、IOControl 测试、RoutineControl 测试、诊断服务测试。
运行时依赖
安装命令
点击复制技能文档
UDS 诊断测试技能 目标 这个 skill 只解决三件事: 用固定 Python 环境解析调查表 生成并验证 UDS 测试脚本 在 SocketCAN 环境下执行测试 详细驱动安装、WSL2 USB 透传、SecurityAccess 替代方案、NRC 说明、调查表默认值参考,统一放在 README.md,不要在当前技能主流程里重复展开。
唯一规则 唯一环境入口:先进入 skill 根目录,再执行 bash ./scripts/setup_env.sh 唯一环境来源:~/.uds_env 唯一 CAN 后端:SocketCAN(can0 / can1),不要使用 PCAN_ 唯一正确包名:python-can,不要执行 pip install can 环境修复默认只允许重跑 setup_env.sh;除非用户明确要求,否则不要手工执行 pip uninstall/install 默认工作目录:$HOME/.uds_workspace
高频错误快查 现象 处理 Invalid CAN Bus Type - None 先修 Python 环境,不要先查硬件;先进入 skill 根目录,再执行 bash ./scripts/setup_env.sh No module named 'can' / can.interfaces.socketcan 先进入 skill 根目录,再执行 bash ./scripts/setup_env.sh pip 只能装出 can-0.0.0 或 python-can 1.5.x 不要循环重装;这是包源/镜像问题。停止重试,把当前 pip 源异常报告给用户 装成 can-0.0.0 先重跑 bash ./scripts/setup_env.sh;如果脚本仍然报告 can-0.0.0 或 python-can 1.5.x,停止重试并报告包源异常 No such interface: can0 / Network is down 执行 bash "$UDS_SKILL_DIR/scripts/can_init.sh" Permission denied 用 sudo 执行 can_init.sh zipfile.BadZipFile 调查表文件损坏或加密,要求用户提供无密码文件 ./scripts/setup_env.sh 不存在 / SKILL.md 缺失 技能目录不完整。不要手工补目录或补文件,重新获取完整的 uds-diagnostic-test 目录
会话初始化 每次开始任务前,只做这一段: source ~/.uds_env 2>/dev/null || { echo "[ERROR] ~/.uds_env 不存在,请先进入 skill 根目录,再执行 bash ./scripts/setup_env.sh"; exit 1; } PYTHON="$UDS_PYTHON" SKILL_DIR="$UDS_SKILL_DIR" UDS_WORK="${UDS_WORK:-$HOME/.uds_workspace}" test -x "$PYTHON" || { echo "[ERROR] UDS_PYTHON 无效: $UDS_PYTHON"; exit 1; } [ -f "$SKILL_DIR/SKILL.md" ] || { echo "[ERROR] UDS_SKILL_DIR 无效: $SKILL_DIR"; exit 1; } mkdir -p "$UDS_WORK"
标准流程
- 环境准备
- 解析调查表
- 生成脚本
- 初始化 CAN
- 验证连接
- 执行测试
何时使用 pipeline 只有在用户明确要求“直接生成并执行,不需要中间确认”时,才使用: source ~/.uds_env PYTHON="$UDS_PYTHON" SKILL_DIR="$UDS_SKILL_DIR" UDS_WORK="${UDS_WORK:-$HOME/.uds_workspace}" "$PYTHON" "$SKILL_DIR/scripts/uds_pcan_runner.py" pipeline \ --input "<调查表文件路径>" \ --output-dir "$UDS_WORK/pipeline_output" 默认不要直接走 pipeline。默认流程始终是:解析 → 用户确认 → 生成 → 验证 → 执行。
详细资料 以下内容不要继续堆在当前技能主流程里,统一去 README.md: WSL2 USB 透传 原生 Linux 驱动安装 SecurityAccess Linux 替代方案 NRC 0x78 / P2 / P2 说明 调查表属性默认值表 深度 CAN 故障排查 Agent 在确认阶段如发现 DLL 路径以 .dll 结尾且运行在 Linux,必须主动告知用户此限制