汽车充电桩通讯文档-设备

来自东骏科技波塞冬平台开发者文档
跳转至: 导航搜索

总则

协议概述

本通讯协议定义汽车充电桩通讯模块与汽车充电桩的通讯流程、格式和内容。

通讯接口

该通讯文档采用ASCII形式通讯,服务端下发两条指令间隔不小于100ms。

协议结构

命令结构

定义:服务器发送,通讯模块接收的数据报文。

1 2 3 4 5 6 7

1:开始标识(1byte) “_”

2:报文长度(3byte)(ASCII数字)

3:命令(3byte)(英文大写,第一字节A为保留字段)

4:会话ID(6byte)(每一字节0x00-0x3D之间数字+偏移量0x31,当然如果使用A-Za-z0-9就一定再这个范围之内了,也就满足要求了),每次不同的通讯的会话ID都需要不一样(服务器发起的通讯至少连续的20次通讯不一样,除了特殊说明以外,当然我们的建议还是让每次通讯的会话ID尽可能的不一样),通常设备会在获取到服务器指令执行以后需要回复结果的会返回相同的会话ID给服务器,服务端可以通过会话ID获得设备当前回应的数据是哪一个会话的。同一个会话ID设备会认为是同一次通讯的重复发送,如果设备已经处理了相关的指令,就会丢弃之后相同会话ID的指令。设备由于内存限制,比对的会话ID是之前10次通讯的会话ID,为了可靠期间服务端只要保证连续的20次服务器发起的通讯会话ID不一致就可以了确保设备不会触发丢弃操作而影响指令的执行。另外如果有些命令服务器为了使设备一定收到,但设备只需要执行一次的,这样的命令多次发送用同一会话ID发送就可以了

5:分隔符(1byte) “/”

6:参数(如果没有参数则没有该部分)

7:结束标识(2byte) (0x0D 0x0A)

响应结构

定义:通讯模块发送,服务器接收的报文。

1 2 3 4 5 6 7

1:开始标识(1byte) “_”

2:响应类型(2byte) PG-ping,DV-设备号(IMEI),ID-SIM卡ICCID号,CM-客户端命令,RP-数据上报,RS-命令响应, RJ-Json数据上报

3:命令(3byte)(大写英文,回传服务器请求的命令,如果没有服务器请求则为AAA)

4:会话ID(6byte)(无服务器会话ID则返回”000000”,文档中指令的会话ID有特殊定义的,已定义为准)

5:内容长度(3byte)(ASCII数字)6的长度

6:内容(内容长度可以为空)

7:结束标识(2byte) (0x0D 0x0A)

业务接口

查询设备状态

描述:服务器读取设备每个端口当前的状态。

数据方向:服务端->设备

服务端命令:QCX

会话ID:服务端下发

服务器请求命令帧:

字段 字节说明 意义 备注
METHOD 1字节 固定值"1"

设备响应命令帧:

字段 字节说明 意义 备注
PORT_NUM 1-2,#分割 端口数量
PORT1_STATUS 数字1-8,#分割 端口1状态 1-未使用;2-使用中;3-枪被禁用;4-枪故障;5-无计费模型,6-枪未连接,7-对时尚未完成,8-急停被按下
PORT1_STATUS 数字1-8,该参数可能省略 端口2状态 1-未使用;2-使用中;3-枪被禁用;4-枪故障;5-无计费模型,6-枪未连接,7-对时尚未完成,8-急停被按下

启动充电

描述:当用户付款以后,通知主设付款的信息。

数据方向:服务端->设备

服务端命令:QRN

会话ID:服务端下发

服务器请求命令帧:

字段 字节说明 意义 备注
PORT 1字节 用户选择的充电枪号
BILL_NO ASCII,23字节 订单号 ASCII形式
FEE_MODEL 1字节 充电计费方式 1-时间计费,2-电量计费,3-金额计费,4-刷卡充电
POWER_TIME_LIMIT 数字8字节,不足在前面补0 电量或时间限制,0表示无限制 0.01kWh或秒
AMT_LIMIT 数字8字节,不足在前面补0 用户账户剩余金额或电费限制 0.01元
UNIX_TIME 数字10字节,不足在前面补0 UNIX时间戳 秒为单位

设备响应命令帧:

字段 字节说明 意义 备注
BILL_NO ASCII,23位,#分割 订单号 ASCII形式
RESULT 数字1-7 结果 1-成功,2-充电桩故障,3-端口已经被使用,4-计费模型不存在,5-充电桩不支持,6-时间尚未校准,7-急停被按下

充电结束

描述:当某个枪的电动车已经充电结束,调用了该接口,该次交易即已经结束,用户再插上线路,肯定是不能再充电的。

数据方向:设备->服务端

服务端命令:QWC

会话ID:A10001

服务器请求命令帧:

字段 字节说明 意义 备注
PORT 数字1-2,#分割 枪号
BILL_NO ASCII,23位,#分割 订单号 ASCII形式
RESULT 数字0-9,#分割 结束原因 1-电量或时间用完,2-余额不足,3-远程停止充电,4-长时间未连接充电枪,5-车辆引导信息要求停止(充满或车载BMS故障),6-用户手动停止,7-急停开关被按下停止,8-车辆引导信号异常停止(汽车车载充电机或BMS状态异常或充电插头被拔出松动),9-刷卡停止,10-超过最大单次充电电量,11-超过单次最大充电时间,12-车载充电机不匹配(模式、性能、功率等)停止
JIAN_PRICE 数字0-9999,#分割 尖单价 0.01元/KWh为单位
JIAN_POWER 数字0-99999999,#分割 尖电量 0.001KWh
JIAN_AMT 数字0-99999999,#分割 尖金额 0.001元
FENG_PRICE 数字0-9999,#分割 峰单价 0.01元/KWh为单位
FENG_POWER 数字0-99999999,#分割 峰电量 0.001KWh
FENG_AMT 数字0-99999999,#分割 峰金额 0.001元
PING_PRICE 数字0-9999,#分割 平单价 0.01元/KWh为单位
PING_POWER 数字0-99999999,#分割 平电量 0.001KWh
PING_AMT 数字0-99999999,#分割 平金额 0.001元
PING_PRICE 数字0-9999,#分割 谷单价 0.01元/KWh为单位
PING_POWER 数字0-99999999,#分割 谷电量 0.001KWh
PING_AMT 数字0-99999999,#分割 谷金额 0.001元
SERVER_AMT 数字0-99999999,#分割 时间服务费 0.001元
POWER_AMT 数字0-99999999,#分割 电量服务费 0.001元
AREA_AMT 数字0-99999999,#分割 场地服务费 0.01元
STOP_PERCENT 数字1-100,255,#分割 中止荷电状态(BSD) 1% ,255为无法获取充电荷电状态
ERROR 数字0-999,#分割 异常停止状态 0x00-无异常,400-启动失败,充电桩系统故障;401-启动失败,CP引导信号未检测到超时;402-启动失败,CP控制引导信号不能进入充电模式;403-启动失败,计量模块异常;404-启动失败,充电模块故障;405-启动失败,急停开路;406-启动失败,防雷器异常;407-启动失败,漏电保护异常;408-启动失败,温度异常;409-启动失败,供电电压异常;410-启动失败,供电电流过小异常;411-启动失败,供电电流过大异常;412-启动失败,合闸失败;413-启动失败,绝缘异常;414-启动失败,浸水传感器检测异常停止,415-启动失败,接地异常;600-充电异常终止,系统闭锁;601-充电异常终止,CP导引信号断开;602-充电异常终止,CP导引要求停止充电;603-充电异常终止,计量数据异常;604-充电异常终止,输出电压异常;605-充电异常终止,输出电流过小;606-充电异常终止,输出电流过大;607-充电异常终止,充电模块故障;608-充电异常终止,急停开路;609-充电异常终止,漏电保护异常;610-充电异常终止,温度异常;800-未知原因异常
TIME UNIX时间戳,#分割 充电开始时间 秒为单位
TIME UNIX时间戳,#分割 充电结束时间 秒为单位
RE_SEQ 重传序列,该指令需要DLB回复

实时状态上报

描述:电桩充电时需要每分钟上报一次当前状态数据。

数据方向:设备→模块

服务端命令:QSB

会话ID:A10002

设备上报命令帧:

字段 字节长度 意义 备注
PORT 数字1-2,#分割 枪号
BILL_NO ASCII23byte,#分割 订单号
RESULT 数字1-3,#分割 状态 1-充电, 2-故障, 3-空闲
POWERTYPE 数字1-2,#分割 输出类型 1-直流,2-单相交流,3-三相交流
CURRENT_TYPE 数字1-4,#分割 当前计费类型 1-尖计费,2-峰计费,3-平计费,4-谷计费
ACTIVE_QEC 数字0-99999999,#分割 当前计费类型有功电量 0.001KWh为单位
REACTIVE_QEC 数字0-99999999,#分割 当前计费类型无功电量 0.001KVar为单位
CURRENT_AMT 数字0-99999999,#分割 当前计费类型充电金额 0.001元
CURRENT_POWER_AMT 数字0-99999999,#分割 当前计费类型电量服务费 0.001元
SERVER_TIME_AMT 数字0-99999999,#分割 当前计费模型时间服务费 0.001元
CURRENT_TIME 数字0-999999,#分割 当前计费类型充电时间 秒为单位
ACTIVE_POWER 数字0-999999,#分割 当前有功功率 W为单位
REACTIVE_POWER 数字0-999999,#分割 无功功率 Var为单位
PF 数字0-300,#分割 当前功率因素 0.01
VOLTAGE 数字0-4000,#分割 输出电压(三相电压用-分割) 0.1V
CURRENT 数字0-400,#分割 输出电流(三相电流用-分割) 0.1A
SOC_PERCENT 数字0-100,#分割 当前荷电状态 分辨率1%,0%偏移量,0-100%,0表示一般不支持
TEMPERATURE 数字0-150,#分割 设备温度 偏移量-50℃,单位1℃, 即实际0℃上报为50
TIME 数字0-999999,#分割 累计充电时间 秒为单位
CHARGE_POWER 数字0-99999999,#分割 充电电量 0.001KWh为单位
AMT 数字0-99999999 已充金额 0.001元

计费模型下发

描述:服务器下发计费模型。

数据方向:服务端->设备

服务器请求命令帧:QKM

字段 字节长度 意义 备注
JIAN_PRICE 4byte 尖单价 0.01元/KWh
FENG_PRICE 4byte 峰单价 0.01元/KWh
PING_PRICE 4byte 平单价 0.01元/KWh
GU_PRICE 4byte 谷单价 0.01元/KWh
SERVER_PRICE 4byte 电量服务费率 0.001元/KWh
TIME_PRICE 4byte 时间服务费率 0.001元/分钟
AREA_PRICE 4byte 场地服务费 0.01元
P01 1byte 0:00-1:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P02 1byte 1:00-2:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P03 1byte 2:00-3:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P04 1byte 3:00-4:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P05 1byte 4:00-5:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P06 1byte 5:00-6:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P07 1byte 6:00-7:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P08 1byte 7:00-8:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P09 1byte 8:00-9:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P10 1byte 9:00-10:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P11 1byte 10:00-11:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P12 1byte 11:00-12:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P13 1byte 12:00-13:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P14 1byte 13:00-14:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P15 1byte 14:00-15:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P16 1byte 15:00-16:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P17 1byte 16:00-17:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P18 1byte 17:00-18:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P19 1byte 18:00-19:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P20 1byte 19:00-20:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P21 1byte 20:00-21:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P22 1byte 21:00-22:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P23 1byte 22:00-23:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P24 1byte 23:00-0:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率

设备响应命令帧:

字段 字节长度 意义 备注
RESULT 1byte 下发结果 0x01-下发成功,0x02-下发失败,0x03-下发成功,但不存储,0x04-使用过程中不可更改计费模型

服务端请求设备计费模型

描述:设备请求服务端计费模型。

数据方向:服务端->设备

服务端指令:QSM

字段 字节长度 意义 备注
MODEL_NUM 1byte 充电模型编码 1-固定值

设备响应命令帧:

字段 字节长度 意义 备注
JIAN_PRICE 4byte 尖单价 0.01元/KWh
FENG_PRICE 4byte 峰单价 0.01元/KWh
PING_PRICE 4byte 平单价 0.01元/KWh
GU_PRICE 4byte 谷单价 0.01元/KWh
SERVER_PRICE 4byte 电量服务费率 0.001元/KWh
TIME_PRICE 4byte 时间服务费率 0.001元/分钟
AREA_PRICE 4byte 场地服务费 0.01元
P01 1byte 0:00-1:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P02 1byte 1:00-2:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P03 1byte 2:00-3:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P04 1byte 3:00-4:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P05 1byte 4:00-5:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P06 1byte 5:00-6:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P07 1byte 6:00-7:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P08 1byte 7:00-8:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P09 1byte 8:00-9:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P10 1byte 9:00-10:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P11 1byte 10:00-11:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P12 1byte 11:00-12:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P13 1byte 12:00-13:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P14 1byte 13:00-14:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P15 1byte 14:00-15:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P16 1byte 15:00-16:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P17 1byte 16:00-17:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P18 1byte 17:00-18:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P19 1byte 18:00-19:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P20 1byte 19:00-20:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P21 1byte 20:00-21:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P22 1byte 21:00-22:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P23 1byte 22:00-23:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率
P24 1byte 23:00-0:00时段计费方式 0x00-尖费率,0x01-峰费率,0x02-平费率,0x03-谷费率

刷卡充电

描述:设备上报刷卡卡号

数据方向:设备->服务端

服务端指令:QSK

字段 字节长度 意义 备注
PORT 数字1-2,#分割 抢号
CARD_NO 十六进制ASCII,#分割 卡号 十六进制的物理卡号
CARD_CHECK 不定长度ASCII 校验信息

设备响应命令帧:

字段 字节长度 意义 备注
CARD_AMT 8字节数字,不足在前面补0 卡内余额 0.01元,没有余额为0
RESULT 1byte 刷卡结果 0-成功,1-卡号或账号不存在,2-卡号或账号冻结,3-余额不足,4-存在未结账记录,5-账户未绑定该桩,6-服务器其他失败

注意:刷卡成功后,服务端除了应答刷卡结果外,1秒钟之后需要下发充电指令。

远程停止充电

描述:设备请求服务端计费模型。

数据方向:模块→设备

服务端指令:QTZ

字段 字节长度 意义 备注
PORT 1byte 抢号 需要停止的充电枪枪号
BILL_NO 23byte 订单号 需要停止的订单号

设备响应命令帧:

字段 字节长度 意义 备注
BILL_NO 23byte 订单号 需要停止的订单号
RESULT 1byte 停止结果 1-停止成功,2-枪号不匹配,3-订单不匹配,4-枪未处于充电状态,5-其他原因失败

注意:远程停止应答后,设备应主动上报0x05,并且0x05“充电结束”的RESULT字段应该为5-远程停止充电。如果远程停止后服务端5分钟之内没有收到上报QWC,但收到QTZ的响应,则服务端结束状态为“远程停止无账单”,并且通过实时订单上报的数据计算用户账单;如果及时收到QWC则为“远程停止结束”,并根据QWC上报的账单计算最终账单。

主板对时

描述:主板和服务端对时, 如果主板和服务端时间戳的误差大于5分钟, 则服务端会发送新的时间戳给主板。

数据方向:主板→模块

服务端指令:QDS

SESSION_ID:"000000"

DATA:

字段 字节长度 意义 备注
METHOD 1byte 固定值1

模块响应命令帧:

服务端指令:QDS

SESSION_ID:"服务器生成的会话id"

DATA:

字段 字节长度 意义 备注
TIMESTAMP 4byte 服务器当前时间戳 UNIX时间戳,单位为秒