批量指令离线自动执行
V6 支持在开发板本地保存一组 CAN、CAN FD 和 RS485 指令,并按设定周期和次数自动执行。该功能适合电机批量初始化、循环测试、离线动作片段和生产测试。
AT+ 控制指令通常通过 USB CDC串口工具发送。命令表为便于阅读只列出命令主体;实际发送时,只输入命令主体,并把发送结束符设置为 CRLF。
命令总览
命令 |
说明 |
|---|---|
|
查询固件版本 |
|
查询运行统计 |
|
设置 FDCAN 波特率; |
|
查询当前固件保存的 FDCAN 波特率,返回 |
|
设置 RS485 参数 |
|
查询当前固件保存的 RS485 参数,返回 |
|
查询当前 SPI 模式 |
|
切换 SPI 到 23 字节短模式 |
|
切换 SPI 到 73 字节长模式 |
|
查询当前是否处于 RS485 原始数据透传模式 |
|
开启 RS485 原始数据透传模式 |
|
关闭 RS485 原始数据透传模式,恢复 SANPO |
|
查询 RS485 原始数据透传目标通道 |
|
设置 RS485 原始数据透传目标通道, |
|
擦除通信配置区,并恢复出厂通信默认值 |
|
创建或覆盖一个批次 |
|
添加短 payload 指令 |
|
添加长 payload 分片 |
|
结束分片上传并校验 |
|
提交并持久化批次 |
|
运行批次 |
|
停止当前批次 |
|
查询批次列表 |
|
读取批次条目 |
|
删除批次 |
|
查询批量执行状态 |
|
设置上电自动执行 |
|
清除上电自动执行 |
|
查询上电自动执行配置 |
通信配置区擦除
AT+RS485RAW 只控制当前运行时是否开启 RS485 原始数据透传,不写入 COMMCFG 配置区。固件上电默认使用非透传的 SANPO RT 封装帧模式,重新上电后会自动恢复为非透传模式。
AT+SETFDCAN、AT+SETRS485、AT+SPIMODE、AT+RS485RAWCH 和 AT+BATAUTOSET/BATAUTOCLR 会追加写入 Flash 的 COMMCFG 配置区。正常使用不需要手动擦除。
当出现以下情况时,可以发送:
AT+CFGERASE
多次修改配置后返回
ERR,5,表示 COMMCFG 配置区空间不足。需要恢复出厂通信参数。
需要清除持久化的 SPI 模式、RS485 原始数据透传通道或上电自动执行配置。
AT+CFGERASE 只擦除 COMMCFG 配置区,不会擦除 SECINFO 授权信息,也不会擦除已经保存的批量指令数据。执行成功后返回 OK,并立即恢复运行时默认值:CAN/FDCAN 为 AT+SETFDCAN=1000000,5000000,SPI 为 SHORT,RS485 原始数据透传模式为关闭,RS485 原始数据透传通道为 0,RS485 为 4000000,1,0,8。如果仍需要 SPI LONG 或其他波特率,需要重新发送对应 AT+ 指令。
字段定义
字段 |
说明 |
|---|---|
|
批次编号 |
|
批次内条目序号,从 1 开始 |
|
协议类型 |
|
目标通道, |
|
执行该条目前的延时 |
|
|
|
重复次数, |
proto 定义
proto |
含义 |
Payload |
|---|---|---|
|
经典 CAN 标准帧 |
|
|
经典 CAN 扩展帧 |
|
|
RS485 |
|
|
CAN FD 标准帧 |
|
|
CAN FD 扩展帧 |
|
经典 CAN 的 Len 是真实字节长度,范围 0~8。
CAN FD 的“数据长度编码”不是直接字节数。
数据长度编码 |
真实数据长度 |
|---|---|
|
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
12 |
|
16 |
|
20 |
|
24 |
|
32 |
|
48 |
|
64 |
波特率配置
V6 使用 AT+SETFDCAN=<arb_baud>,<data_baud> 统一配置 CAN/FDCAN:
经典 CAN 标准帧和扩展帧使用
arb_baud。CAN FD 仲裁段使用
arb_baud。CAN FD 数据段使用
data_baud,当前支持2000000或5000000。配置会写入 Flash,下次上电继续使用。
USB CDC串口的 Line Coding 只保留为主机侧串口属性,不会同步修改 CAN/FDCAN/RS485 参数。
SPI 模式说明
AT+SPIMODE 只影响 SPI 固定帧长度,不影响 USB CDC串口协议。
模式 |
总线长度 |
支持 |
|---|---|---|
|
23 字节 |
SPI 经典 CAN、SPI RS485 |
|
73 字节 |
SPI 经典 CAN、SPI CAN FD、SPI RS485 |
切换 SPI 模式后,SPI 主机应停止当前 SPI 交易,等待至少 10 ms,再按新模式长度发起通信。
长度与分片
AT+BATADD适合短 payload。CAN FD 和较长 RS485 payload 建议使用
AT+BATADDX分片上传。AT+BATADDEND使用CRC16-CCITT校验完整 payload。
使用示例
AT+SETFDCAN=1000000,5000000
AT+SPIMODE=LONG
AT+BATBEGIN=1,fd_test
AT+BATADD=1,1,5,1,10,000001230A01020304050607081112131415161718
AT+BATCOMMIT=1
AT+BATRUN=1,1,0,1
错误码
错误码 |
含义 |
|---|---|
|
参数格式错误 |
|
状态错误 |
|
参数超范围 |
|
CRC 校验失败 |
|
存储空间不足 |
|
批次不存在 |
|
队列忙 |
|
Flash 读写错误 |