# 充电桩协议测试工具 **Repository Path**: bruce1789/charge_protocol_test ## Basic Information - **Project Name**: 充电桩协议测试工具 - **Description**: 充电桩协议测试工具,可对每个整个指令流程和交互报文进行全程监控测试 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-09-18 - **Last Updated**: 2025-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 充电桩协议测试工具 # 可按照协议规则,对各指令的交互、报文等进行监测与输出 可对心跳、登录、实时数据、获取费率等报文是否在规定时间内上报和回复进行检测 可以输出不符合协议要求的报文错误 ## 主要测试过程 ## **成功建立连接后** - 检测每间隔32s内(协议要求30s)是否接收到心跳0x01报文 - 检测30s内是否接收到充电桩上报登录0x02报文 - 每1小时由服务端主动下发主站对时(0x08)报文,检测5s内是否收到充电桩的对时回复 **登录成功后** - 10s下发对时报文,检测5s内是否收到对时回复 - 检测每间隔35s内(协议要求30s)是否接收到主动上传实时数据(0x14)报文 - 检测120s内是否接收到充电桩获取浮点费率(0x41)报文 - 120s时,由服务端下发监控中心写数据(0x05)报文,检测5s内是否收到充电桩的写入回复 - 150s时,提示进行插入充电枪操作(需要提前连接好模拟负载充电设备) **插入充电枪后** - 检测10s内是否接收到充电桩主动上传刷卡请求(0x30)该处主要上报vin请求,如无法从bms获得vin,则vin字段全部用0x00代替 - 插枪后30s时,由充电桩下发启动充电(0x10)命令,检测5s内是否收到充电桩启动充电回复;并检测10s内是否收到充电桩上报充电命令(0x45) **充电中** - 服务端在实时数据中检测到设备状态为充电中时,5分钟(该值可以在配置文件中修改)后由服务端下发停止充电命令,检测5s内是否收到充电桩回复停止充电0x10报文(控制自动下发停止充电时间和充电金额可以测试充满电的场景) **发送停止指令后** - 服务端下发停止指令后,检测10s内是否收到充电桩主动上传历史数据(0x06),并对账单数据进行解析,检测总金额是否大于设定充电金额、总金额是否等于充电金额与服务费之和。 **其他说明** - 控制配置文件中的Time字段值,可以测试自动完成充电以及手动停止充电 ## 配置文件说明 ## [Tcp] Listen = 8080 #TCP服务端口,与充电桩交互的端口 [Log] Debug =false #调试模式 调试模式会输出全部信息 非调试模式只会输出错误和成功信息 File = true #是否输出到日志文件 Console =true #是否输出到命令行 [Pile] List = 10000,10001,10002,10003 #待调试的充电桩编号,多个用英文半角逗号隔开 [Charge] Money =200 #模拟充电金额,单位分,自动发送停止指令在充电开始后5分钟,调整金额可测试金额耗尽自动结账停止 GunId = 1 #测试启动充电的枪号 1-A枪 2-B枪 用于后期需要对其他枪进行测试 Time= 5 #充电多久后自动下发停止充电指令,默认为5,单位分钟