测试激励示例
配合第 7 篇教程阅读。
| 文件 | 作用 |
|---|---|
| speed-constant.json | Speed 恒为 60 km/h |
| speed-step.json | 0/2/4 秒分别为 40/80/40 km/h,保持末值 |
| speed-sine.json | 60±20 km/h,2 秒正弦 |
| speed-sawtooth.json | 40~80 km/h,2 秒锯齿 |
| speed-square.json | 重复阶跃,40/80 km/h 各 1 秒 |
| random-frames.py | 32 帧标准 CAN 双随机序列;ID 0x600~0x60F,完整 8 字节随机 |
五份 JSON 复用 ../02-from-bus-to-signals/network/vehicle-demo.dbc,复制到其他目录时请一并保留相对路径或调整 database。报文周期为 50 ms;counter-sum 是教学保护方案。
在本目录执行 bmcli simulation validate --file=speed-sine.json --format=json 可以离线检查。运行仿真前准备 daemon、已打开的隔离 CAN 通道和独立采集端;逐轮加载、启动、停止、卸载,详见正文。
python random-frames.py --seed=2026 仅打印序列,不访问 BMCLI 或硬件。
python random-frames.py --seed=2026 --send --channel=stimulus-can --sequence=run-01.jsonl 会先以独占创建方式保存完整序列,再逐帧发送;失败即停止,stdout 逐帧记录命令返回。请先确认 Bench 绑定、参数、接线与发送授权,并先启动采集。
序列文件记录计划输入,stdout 记录调用结果,接收端记录真实总线输入,三者用途不同。脚本不启动后台任务,不打开或关闭通道,不保证 100 ms 精确周期,也不提供硬件随机种子的设置能力。
本次完成五份配置的离线校验和随机生成器的离线检查,未进行硬件发送或 DUT 验收。