王旭东
充电桩压测方案
海镕多联机空调485控制器方案说明
电能平台压测程序使用说明
中台软网关解析规则整理
星纵物联LoraWAN网关方案整理
国网376.1协议整理
云快充协议对接方案
科德4G水表离线问题排查
海镕3种空调平台与中台对接参数文档
电信AEP平台NB设备接入教程
牧原项目ARCM500蓝牙调试程序对接文档
中台-Expasion架构设计调整
中台-蓝牙调试小程序对接说明
ADW300-IOT报警新版参数设置(增加DO1和DO2联动)
迈格瑞能MPS微电网混合逆变器整理
微电网混合逆变器参数下发整理
云南交投充电桩协议对接方案
AAC系列空调控制器整理
云快充2.1协议对接方案(新增V2G协议)
本文档使用 MrDoc 发布
-
+
首页
云快充协议对接方案
#### 注意事项 - 平台响应桩的请求事件、下发指令都通过中台的操作指令接口 ***/exchange/publish/indicate/operate/{sn}*** - 暂定云快充协议充电桩连接服务器端口是 **20040** - 平台需预先录入充电桩设备,并调用中台接口同步桩信息,否则中台收到桩的报文不予上线。 - 中台调用电能平台的充电桩启动充电鉴权接口、交易记录上报接口,传参和返回值会存入中台 **log_Tenant** 日志,防止丢失数据 - 云快充协议的桩中台固定型号名称:云快充协议充电桩 productKey: OTg5MDYwNDkzNzMzODcxNjE2 secretKey: rdb9d9475f214001 - 下文所有属性上报和事件上报的参数内容,都参照国网协议封装在 **params** 属性中,最终转发平台的数据,固定带上 **sn** 和 **identifier** 属性。 - 下文中所有 **标识符**,对应中台报文日志的 **messageType** 属性。 - 交易流水号格式:桩号(7bytes)+枪号(1byte)+年月日时分秒(6bytes)+自增序号(2bytes); 示例:32010600019236012001061803423060 - 平台下发的指令,中台会创建一个临时的 **commandInfo** 对象缓存在内存中,通过固定的 **key** 识别获取,指令传参带上 **gunNo** ,则这个 **key** 会带上 **_{gunNo}** 作为后缀,无须 **gunNo** 的指令请勿加上这个属性,否则桩回复指令的报文会匹配不到对应的指令缓存导致中台回复下发超时失败。 - 目前充电桩中台分支已使用EIOT主版本 - 心跳报文由于上传频繁且无实际作用,故不存中台日志 #### 协议概览  ### 1. 上电流程 ##### 1.1 充电桩登录认证 0x01 中台收到报文后,查询数据库有无这台桩的信息,若桩不存在或者已删除,则回复登录认证失败,不予上线。若查询到桩信息,则以 **ykcLoginEvt** 标识符作为登录认证事件转发给平台 **ykcLoginEvt** 事件参数: ```js { //桩编码,14位,不足14位补零 "sn":"55031412782305", //桩类型 0-直流桩 1-交流桩 "devType": 0, //充电枪数量 "portNum": 1, //通信协议版本,版本号乘10,0x0A表示 v1.0 "version": 1.0, //程序版本,ASCII码,不足8位补零 "softversion": "4.1.50", //网络链接类型 0-SIM卡 1-LAN 2-WAN 3-其他 "netType": 0, //SIM卡,BCD码,长度20,取不到置零 "simNo": "01010101010101010101", //运营商 (转成国网协议 12-移动 13-电信 11-联通 14-其他) "netId": 12 } ``` ##### 1.2 登录认证应答 0x02 中台直接回复设备,标识符 **ykcLoginEvt_reply** ##### 1.3 计费模型验证请求 0x05 标识符 **ykcAskVerfyFeeModel** ##### 1.4 计费模型验证请求应答 0x06 标识符 **ykcAskVerfyFeeModel_reply** 中台处理,直接回复桩不一致,桩空闲主动请求计费模型 ##### 1.5 桩补送离线储存数据 这里理解为桩上传实时数据,中台以 **ykcDeRealIty** 标识符参照国网协议属性上报方式转发给平台 **ykcDeRealIty** 属性上报参数: ```js { //交易流水号,没有则传空 "preTradeNo": "32010600019236012001061803423060", //桩编号 "sn": "55031412782305", //枪号 "gunNo": 1, //状态 0-离线 1-故障 2-空闲 3-充电 (国网协议 10-空闲 13-充电中 16-系统故障) "workStatus": 2, //枪是否归位,0-否 1-是 2-未知 "gunPositionState": 1, //是否插枪,0-否 1-是 "gunStatus": 0, //输出电压,1位小数,待机置零 "dcVol": 0, //输出电流,1位小数,待机置零 "dcCur": 0, //枪线温度,整型,偏移量-50,待机置零 "conTemp": 0, //枪线编码,没有置零 "conCode": 0, //SOC,待机置零,交流桩置零 "socVal": 0, //电池组最高温度,整型,偏移量-50,待机置零,交流桩置零 "bMHTemp": 0, //累计充电时间,单位:min,待机置零 "chgTime": 0, //剩余时间,单位:min,待机置零,交流桩置零 "remainT": 0, //充电度数,精确到小数点后四位,待机置零 "totalElect": 0, //计损充电度数,精确到小数点后四位,待机置零,未设置计损比例时等于充电度数 "totalElectCL": 0, //已充金额,精确到小数点后四位;待机置零(电费+服务费)*计损充电度数 "totalCost": 0, //硬件故障,Bit位表示(0否1是)平台根据协议解析 "faultState": 0 } ``` ##### 1.6 计费模型请求 0x09 中台以 **ykcAskFeeModelEvt** 标识符参照国网协议计费模型请求事件转发给平台 这里传参只有桩编号,和国网协议上传当前计费模型编号有差别 **ykcAskFeeModelEvt** 事件参数: ```js { //桩编号 "sn": "55031412782305" } ``` ##### 1.7 计费模型请求应答 ###### 1.7.1 计费模型请求应答 0x0A 平台调用中台接口将计费模型返回给桩 标识符 **ykcAskFeeModelEvt_reply** 云快充协议以半小时为1单位,将一天分为48个时段,平台参照国网协议旧版的计费模型格式,调整后下发,需要注意费率的精度与国网协议旧版不一致,中台做转换处理后返回给桩 平台调用中台接口传参: ```js { "method": "YKC_ASK_FEEMODEL_RESPONSE", //计费模型Id,协议固定为 1 "feeModelId": 1, //电费,尖峰平谷费率,精确到五位小数 "chargeFee":[10000,12000,8000,6000], //服务费,对应尖峰平谷时段服务费,精确到五位小数 "serviceFee":[5000,5000,5000,5000], //时段数 最多48 "timeNum": 6, //时段开始时间点,时间点分钟部分仅支持 00或30 ,如果全天仅用一个费率,也得传一个时间过来,如"0000" "timeSeg": ["0530","0800","1130","1330","1900","2300"], //时段标志 10-尖时段 11-峰时段 12-平时段 13-谷时段 "segFlag": [10,11,10,12,13,11] } ``` ###### 1.7.2 计费模型请求应答-支持深谷 0x0B 平台调用中台接口,将**包含深谷**的计费模型返回给桩 标识符 **ykcAskFeeModelDeepValleyEvt_reply** 云快充协议以半小时为1单位,将一天分为48个时段,平台参照国网协议旧版的计费模型格式,调整后下发,需要注意费率的精度与国网协议旧版不一致,中台做转换处理后返回给桩 平台调用中台接口传参: ```js { "method": "YKC_ASK_FEE_MODEL_DEEP_VALLEY_RESPONSE", //计费模型Id,协议固定为 1 "feeModelId": 1, //电费,尖峰平谷深费率,精确到五位小数 "chargeFee":[10000,12000,8000,6000,5000], //服务费,对应尖峰平谷深时段服务费,精确到五位小数 "serviceFee":[5000,5000,5000,5000,5000], //时段数 最多48 "timeNum": 6, //时段开始时间点,时间点分钟部分仅支持 00或30 ,如果全天仅用一个费率,也得传一个时间过来,如"0000" "timeSeg": ["0530","0800","1130","1330","1900","2300"], //时段标志 10-尖时段 11-峰时段 12-平时段 13-谷时段 14-深谷时段 "segFlag": [10,11,10,12,13,11] } ``` ##### 1.8 充电桩心跳包 0x03 中台处理,标识符 **ykcHeartbeat** ##### 1.9 心跳包应答 0x04 中台处理,标识符 **ykcHeartbeat_reply** 由于桩不会主动对时,考虑在上电流程结束中台第一次回复心跳包后由中台主动下发对时,并且缓存本次对时的时间戳,每次心跳上报判断距离上次对时超过一天,再次下发对时 ### 2. app充电流程 #### 2.2 启动充电 ##### 2.2.1 平台远程控制启机 0x34 标识符 **ykcStartCharging** 平台调用中台接口传参: ```js { "method": "YKC_START_CHARGING", //平台交易流水号 "preTradeNo": "55031412782305012018061914444680", //枪号 "gunNo": 1, //逻辑卡号,显示在屏幕上,长度不足16位左边补零,逻辑卡号为卡面印刷卡号,没有传空 "logicalCardNo": "", //物理卡号,16进制表示,长度不足16位左边补零,桩与平台交互需使用的物理卡号,没有传空 "physicalCardNo": "", //账户余额,保留到小数点两位,10000表示100元 "balance": 10000 } ``` ##### 2.2.2 远程启机命令回复 0x33 平台至少需要等待90秒,超过90秒认定启动失败 由于云快充协议的桩收到启动命令后检测到未插枪会回复充电失败,但是从收到启动命令起60秒内检测到枪重新连接,会补发启动充电成功报文,所以中台这边增加启动充电结果事件推送 平台启动充电返回结果是失败,且失败原因是未插枪,应继续等待60秒,以最后收到的启动充电结果事件为准。 2024-09-27 补充:平台这边若未插枪,应该是不允许下发启动充电的,从源头规避了上述问题。 中台响应结果: ```js { "success": "1", "data": { //交易流水号 "preTradeNo": "55031412782305012018061914444680", //桩编号 "sn": "55031412782305", //枪号 "gunNo": 1, //启动结果 0-失败 1-成功 "startResult": 0, //失败原因 0-无 1-设备编号不匹配 2-枪已在充电 3-设备故障 4-设备离线 5-未插枪 "faultCode": 5 }, "errorCode": "", "errorMsg": "" } ``` 中台接口响应之后还会以 **ykcStartChaResEvt** 标识符参照国网协议启动充电结果事件方式转发给平台 **ykcStartChaResEvt** 事件参数: ```js { //桩号 "sn": "55031412782305", //枪号 "gunNo": 1, //平台交易流水号 "preTradeNo": "55031412782305012018061914444680", //启动结果 0-失败 1-成功 "startResult": 0, //失败原因 0-无 1-设备编号不匹配 2-枪已在充电 3-设备故障 4-设备离线 5-未插枪 "faultCode": 5 } ``` #### 2.3 充电中 ##### 2.3.1 充电握手 0x15 充电握手中台以 **ykcBmsStart** 标识符参照国网协议属性上报方式转发给平台 **ykcBmsStart** 属性上报参数: ```js { //交易流水号 "preTradeNo": "55031412782305012018061914444680", //桩编号 "sn": "55031412782305", //枪号 "gunNo": 1, //BMS 通讯协议版本号 "bmsVersion": "1.1", //BMS 电池类型 1-铅酸电池 2-氢电池 3-磷酸铁锂电池 4-锰酸锂电池 5-钴酸锂电池 6-三元材料电池 7-聚合物锂离子电池 8-钛酸锂电池 255-其他 "batType": 3, //BMS 整车动力蓄电池系统额定容量,0.1Ah/位 "batRatedCap": 0, //BMS 整车动力蓄电池系统额定总电压,0.1V/位 "batRatedTotalVol": 0, //BMS 电池生产厂商名称 "batManufactor": "", //BMS 电池组序号 "batNo": "0", //BMS 电池组生产日期 年-月-日 "batManufactureDate": "2024-08-21", //BMS 电池组充电次数 "batChargingTimes": 0, //BMS 电池组产权标识 0-租赁 1-车自有 "batRightsId": 0, //BMS 车辆识别码 "vinCode": "", //BMS 软件版本号 "bmsSoftVersion": "2015111016" } ``` ##### 2.3.2 充电桩上传参数配置 0x17 中台以 **ykcBmsConfig** 标识符参照国网协议属性上报方式转发给平台 **ykcBmsConfig** 属性上报参数: ```js { //交易流水号 "preTradeNo": "55031412782305012018061914444680", //桩编号 "sn": "55031412782305", //枪号 "gunNo": 1, //BMS 单体动力蓄电池最高允许充电电压 0.01 V/位,0 V 偏移量,数据范围:0~24 V "singlBatMaxAllowVol": 24, //BMS 最高允许充电电流 0.1 A/位,-400A 偏移量 "maxAllowCur": 20, //BMS 动力蓄电池标称总能量 0.1 kWh/位,0 kWh 偏移量,数据范围:0~1000 kWh "battotalEnergy": 1000, //BMS 最高允许充电总电压 0.1 V/位,0 V 偏移量 "maxVol": 24, //BMS 最高允许温度 1ºC/位,-50 ºC 偏移量,数据范围:-50 ºC ~+200 ºC "maxTemp": 120, //BMS 整车动力蓄电池荷电状态(soc) 0.1%/位,0%偏移量,数据范围:0~100% "socVal": 65, //BMS 整车动力蓄电池当前电池电压 "batCurVol": 24, //电桩最高输出电压 0.1V/位,0V偏移量 "maxOutputVol": 22, //电桩最低输出电压 0.1V/位,0V偏移量 "minOutputVol": 0, //电桩最大输出电流 0.1A/位,-400A偏移量 "maxOutputCur": 20, //电桩最小输出电流 0.1A/位,-400A偏移量 "minOutputCur": 0 } ``` ##### 2.3.3 充电过程BMS需求与充电机输出 0x23 中台以 **ykcBmsReq** 标识符参照国网协议属性上报方式转发给平台 **ykcBmsReq** 属性上报参数: ```js { //交易流水号 "preTradeNo": "55031412782305012018061914444680", //桩编号 "sn": "55031412782305", //枪号 "gunNo": 1, //BMS 电压需求 0.1V/位,0V偏移量 "needVol": 0, //BMS 电流需求 0.1A/位,-400A偏移量 "needCur": 0, //BMS 充电模式 1-恒压充电 2-恒流充电 对应国网协议 11-恒压充电 12-恒流充电 "chargeMode": 11, //BMS 充电电压测量值 0.1V/位,0V偏移量 "bmsVol": 0, //BMS 充电电流测量值 0.1A/位,-400A偏移量 "bmsCur": 0, //BMS 最高单体动力蓄电池电压 数据分辨率:0.01V/位,0V偏移量,数据范围:0~24 V "bmsSingleMHV": 24, //BMS 最高单体动力蓄电池电压所在组号 数据范围:0~15 "bmsSingleMHVGroupNo": 12, //BMS 当前荷电状态 SOC( %)1%/位,0%偏移量;数据范围:0~100% "sovVal": 55, //BMS 估算剩余充电时间 单位:min 数据范围:0~600 min "remainT": 45, //电桩电压输出值 0.1V/位,0V偏移量 "outputVol": 0, //电桩电流输出值 0.1A/位,-400A偏移量 "outputCur": 0, //累计充电时间 单位:min 数据范围:0~600 min "chgTime": 15 } ``` ##### 2.3.4 充电过程BMS信息 0x25 充电握手中台以 **ykcBmsRunIty** 标识符参照国网协议属性上报方式转发给平台 **ykcBmsRunIty** 属性上报参数: ```js { //交易流水号 "preTradeNo": "55031412782305012018061914444680", //桩编号 "sn": "55031412782305", //枪号 "gunNo": 1, //BMS 最高单体动力蓄电池电压所在编号 范围:1~256 "bmsSingleMHVNo": 255, //BMS 最高动力蓄电池温度 -50℃偏移量 范围:-50~200℃ "bmsMHTemp": 80, //最高温度检测点编号 范围:1~128 "bmsMHTempNo": 120, //最低动力蓄电池温度 -50℃偏移量 范围:-50~200℃ "bmsMLTemp": 20, //最低动力蓄电池温度检测点编号 范围:1~128 "bmsMLTempNo": 120, //BMS 单体动力蓄电池电压过高/过低 0-正常 1-过高 2-过低 "bmsSingleVolStatus": 0, //BMS 整车动力蓄电池荷电状态 SOC 过高/过低 0-正常 1-过高 2-过低 "socStatus": 0, //BMS 动力蓄电池充电过电流 0-正常 1-过流 2-不可信 "bmsSingleCurStatus": 0, //BMS 动力蓄电池温度过高 0-正常 1-过流 2-不可信 "bmsTempStatus": 0, //BMS 动力蓄电池绝缘状态 0-正常 1-过流 2-不可信 "bmsInsulationStatus": 0, //BMS 动力蓄电池组输出连接器连接状态 0-正常 1-过流 2-不可信 "bmsConnectionStatus": 0, //充电禁止 0-禁止 1-允许 "chargingProhibit": 0 } ``` ##### 2.3.5 上传实时数据 0x13 中台以 **ykcDeRealIty** 标识符参照国网协议属性上报方式转发给平台,同 1.5 **ykcDeRealIty** 属性上报参数: ```js { //交易流水号 "preTradeNo": "32010600019236012001061803423060", //桩编号 "sn": "55031412782305", //枪号 "gunNo": 1, //状态 0-离线 1-故障 2-空闲 3-充电 (国网协议 10-空闲 13-充电中 16-系统故障) "workStatus": 2, //枪是否归位,0-否 1-是 2-未知 "gunPositionState": 1, //是否插枪,0-否 1-是 "gunStatus": 0, //输出电压,1位小数,待机置零 "dcVol": 0, //输出电流,1位小数,待机置零 "dcCur": 0, //枪线温度,整型,偏移量-50,待机置零 "conTemp": 0, //枪线编码,没有置零 "conCode": 0, //SOC,待机置零,交流桩置零 "socVal": 0, //电池组最高温度,整型,偏移量-50,待机置零,交流桩置零 "bMHTemp": 0, //累计充电时间,单位:min,待机置零 "chgTime": 0, //剩余时间,单位:min,待机置零,交流桩置零 "remainT": 0, //充电度数,精确到小数点后四位,待机置零 "totalElect": 0, //计损充电度数,精确到小数点后四位,待机置零,未设置计损比例时等于充电度数 "totalElectCL": 0, //已充金额,精确到小数点后四位;待机置零(电费+服务费)*计损充电度数 "totalCost": 0, //硬件故障,Bit位表示(0否1是) "faultState": 0 } ``` ##### 2.3.6 错误报文 0x1B 中台以 **ykcTotalFaultEvt** 标识符参照国网协议故障告警事件转发给平台,平台判断是否结束订单 **ykcTotalFaultEvt** 事件参数: ```js { //交易流水号,解析全为0会传空 "preTradeNo": "32010600019236012001061803423060", //桩编号 "sn": "55031412782305", //枪号 "gunNo": 1, //错误字段,16进制表示,共8字节,平台根据协议解析相应比特位 "errorCode": "0000000000000000" } ``` ##### 2.3.7 充电阶段BMS中止 0x1D 中台以 **ykcBmsStopEvt** 标识符参照国网协议事件方式转发给平台,平台判断订单是否结束 **ykcBmsStopEvt** 事件参数: 事件参数 ```js { //交易流水号 "preTradeNo": "32010600019236012001061803423060", //桩编号 "sn": "55031412782305", //枪号 "gunNo": 1, //BMS 中止充电原因,HEX,按Bit位区分,平台根据协议解析 "reasonCode": "00", //BMS 中止充电故障原因,HEX,按Bit位区分,平台根据协议解析 "faultCode": "0000", //BMS 中止充电错误原因,HEX,按Bit位区分,平台根据协议解析 "errorCode": "00" } ``` ##### 2.3.8 充电阶段充电机中止 0x21 中台以 **ykcPileStopEvt** 标识符参照国网协议事件方式转发给平台,平台判断订单是否结束 **ykcPileStopEvt** 事件参数: ```js { //交易流水号 "preTradeNo": "32010600019236012001061803423060", //桩编号 "sn": "55031412782305", //枪号 "gunNo": 1, //充电机中止充电原因,HEX,按Bit位区分,平台根据协议解析 "reasonCode": "00", //充电机中止充电故障原因,HEX,按Bit位区分,平台根据协议解析 "faultCode": "0000", //充电机中止充电错误原因,HEX,按Bit位区分,平台根据协议解析 "errorCode": "00" } ``` #### 2.4 停止充电 ##### 2.4.1 平台远程停机 0x36 标识符 **ykcAppStopCharging** 平台调用中台接口传参: ```js { "method": "YKC_STOP_CHARGING", //枪号 "gunNo": 1 } ``` ##### 2.4.2 远程停机命令回复 0x35 标识符 **ykcAppStopCharging_reply** 中台接口响应 ```js { "success": "1", "data": { //桩编号 "sn": "55031412782305", //枪号 "gunNo": 1, //停止结果 0-失败 1-成功 "stopResult": 1, //失败原因 0-无 1-设备编号不匹配 2-枪未处于充电状态 3-其他 "stopFailRes": 0 }, "errorCode": "", "errorMsg": "" } ``` ##### 2.4.3 充电结束 0x19 推测桩充满自停会上送此报文,目前不明确此报文是否会在主动停止充电后上传,暂且当成会上传 中台以 **ykcChaStopEvt** 标识符参照国网协议事件方式转发给平台 **ykcChaStopEvt** 事件参数: ```js { //交易流水号 "preTradeNo": "32010600019236012001061803423060", //桩编号 "sn": "55031412782305", //枪号 "gunNo": 1, //BMS 中止荷电状态 SOC 1%/位,0%偏移量,数据范围:0~100% "socVal": 0, //BMS 动力蓄电池单体最低电压 0.01 V/位,0 V 偏移量,数据范围:0 ~24 V "bmsSingleMLV": 0, //BMS 动力蓄电池单体最高电压 0.01 V/位,0 V 偏移量,数据范围:0 ~24 V "bmsSingleMHV": 23, //BMS 动力蓄电池最低温度 1ºC/位,-50 ºC 偏移量,数据范围:-50 ºC ~+200 ºC "bmsMLTemp": -10, //BMS 动力蓄电池最高温度 1ºC/位,-50 ºC 偏移量,数据范围:-50 ºC ~+200 ºC "bmsMHTemp": 80, //电桩累计充电时间 单位:min 数据范围:0~600 min "chgTime": 45, //电桩输出能量 0.1 kWh/位,0 kWh 偏移量,数据范围:0~1000 kWh "totalElect": 6.5, //电桩充电机编号 "chaMachineNo": 1 } ``` ##### 2.4.4 交易记录上报 0x3B 参照国网协议的处理方式,中台调用电能平台接口将订单信息传给平台,根据平台回复的确认信息返回给设备。平台根据preTradeNo交易流水号区分协议类型再作处理。 标识符 **ykcOrderUpdateEvt** 中台调用平台接口传参: ```js { //交易流水号 "preTradeNo": "32010600019236012001061803423060", //桩编号 "deviceCode": "55031412782305", //枪号 "gunNo": 1, //开始时间,时间戳,精确到秒 "chargeStartTime": "1724306354", //结束时间,时间戳,精确到秒 "chargeEndTime": "1724309296", //尖单价 精确到小数点后五位(尖电费+尖服务费,见费率帧) "sharpFee": 1.30000, //尖电量 精确到小数点后四位 "sharpElect": 0, //计损尖电量 精确到小数点后四位 "sharpElectCL": 0, //尖金额 精确到小数点后四位 "sharpCost": 0, //峰单价 精确到小数点后五位(峰电费+峰服务费) "peakFee": 1.20000, //峰电量 精确到小数点后四位 "peakElect": 0, //计损峰电量 精确到小数点后四位 "peakElectCL": 0, //峰金额 精确到小数点后四位 "peakCost": 0, //平单价 精确到小数点后五位(平电费+平服务费) "flatFee": 1.10000, //平电量 精确到小数点后四位 "flatElect": 0, //计损平电量 精确到小数点后四位 "flatElectCL": 0, //平金额 精确到小数点后四位 "flatCost": 0, //谷单价 精确到小数点后五位(谷电费+谷服务费) "valleyFee": 1.00000, //谷电量 精确到小数点后四位 "valleyElect": 0, //计损谷电量 精确到小数点后四位 "valleyElectCL": 0, //谷金额 精确到小数点后四位 "valleyCost": 0, //电表总起值 精确到小数点后四位 "sumStart": "0", //电表总止值 精确到小数点后四位 "sumEnd": "0", //总电量 精确到小数点后四位 "totalElect": 0, //计损总电量 精确到小数点后四位 "totalElectCL": 0, //消费金额 精确到小数点后四位,包含电费、服务费 "totalCost": 0, //电动汽车唯一标识 "vinCode": "", //交易标识 1-app启动 2-卡启动 4-离线卡启动 5-vin码启动充电 //这里转为国网协议对应的启动方式 10-app一键启动 11-VIN 即插即充 12-智能枪启动 13-二维码启动 14-桩侧扫码启动(桩自带识别器) 15-平台启动 16-蓝牙启动 17-离线 VIN 即插即充 "startType": 10, //交易日期时间 "tradeTime": "2024-08-22 13:59:14", //停止原因,单字节16进制字符串,见云快充协议附录13.1,平台解析 "reason": "00", //物理卡号 如果解析全为0,则传空 "physicalCardNo": "" } ``` ##### 2.4.5 交易记录上报-支持深谷 0xB3 参照国网协议的处理方式,中台调用电能平台接口将订单信息传给平台,根据平台回复的确认信息返回给设备。平台根据preTradeNo交易流水号区分协议类型再作处理。 标识符 **ykcOrderUpdateDeepValleyEvt** 中台调用平台接口传参: ```js { //交易流水号 "preTradeNo": "32010600019236012001061803423060", //桩编号 "deviceCode": "55031412782305", //枪号 "gunNo": 1, //开始时间,时间戳,精确到秒 "chargeStartTime": "1724306354", //结束时间,时间戳,精确到秒 "chargeEndTime": "1724309296", //尖单价 精确到小数点后五位(尖电费+尖服务费,见费率帧) "sharpFee": 1.30000, //尖电量 精确到小数点后四位 "sharpElect": 0, //计损尖电量 精确到小数点后四位 "sharpElectCL": 0, //尖金额 精确到小数点后四位 "sharpCost": 0, //峰单价 精确到小数点后五位(峰电费+峰服务费) "peakFee": 1.20000, //峰电量 精确到小数点后四位 "peakElect": 0, //计损峰电量 精确到小数点后四位 "peakElectCL": 0, //峰金额 精确到小数点后四位 "peakCost": 0, //平单价 精确到小数点后五位(平电费+平服务费) "flatFee": 1.10000, //平电量 精确到小数点后四位 "flatElect": 0, //计损平电量 精确到小数点后四位 "flatElectCL": 0, //平金额 精确到小数点后四位 "flatCost": 0, //谷单价 精确到小数点后五位(谷电费+谷服务费) "valleyFee": 1.00000, //谷电量 精确到小数点后四位 "valleyElect": 0, //计损谷电量 精确到小数点后四位 "valleyElectCL": 0, //谷金额 精确到小数点后四位 "valleyCost": 0, //深谷单价 精确到小数点后五位(深谷电费+深谷服务费) "deepValleyFee": 1.00000, //深谷电量 精确到小数点后四位 "deepValleyElect": 0, //计损深谷电量 精确到小数点后四位 "deepValleyElectCL": 0, //深谷金额 精确到小数点后四位 "deepValleyCost": 0, //电表总起值 精确到小数点后四位 "sumStart": "0", //电表总止值 精确到小数点后四位 "sumEnd": "0", //总电量 精确到小数点后四位 "totalElect": 0, //计损总电量 精确到小数点后四位 "totalElectCL": 0, //消费金额 精确到小数点后四位,包含电费、服务费 "totalCost": 0, //电动汽车唯一标识 "vinCode": "", //交易标识 1-app启动 2-卡启动 4-离线卡启动 5-vin码启动充电 //这里转为国网协议对应的启动方式 10-app一键启动 11-VIN 即插即充 12-智能枪启动 13-二维码启动 14-桩侧扫码启动(桩自带识别器) 15-平台启动 16-蓝牙启动 17-离线 VIN 即插即充 "startType": 10, //交易日期时间 "tradeTime": "2024-08-22 13:59:14", //停止原因,单字节16进制字符串,见云快充协议附录13.1,平台解析 "reason": "00", //物理卡号 如果解析全为0,则传空 "physicalCardNo": "" } ``` ##### 2.4.6 交易记录回复 0x40 若中台调用平台接口失败,中台也不回复桩,桩得不到回复仅会在5分钟后重发1次交易记录,为防止丢失订单信息,由中台记录日志 标识符 **ykcOrderUpdateEvt_reply** 平台接口返回参数: ```js { //中台根据 success 区分如何回复给桩 1-成功 0-非法账单 "success": "1", "errorCode": "", "errorMsg": "", "data": null } ``` ### 3. 刷卡充电 #### 3.1 启动充电 参照国网协议的处理方式,中台调用平台启动充电鉴权接口,根据平台回复的结果返回给桩,平台根据deviceCode桩号区分协议类型。 ##### 3.1.1 充电桩主动申请启动充电 0x31 标识符 **ykcStartChargeAuthEvt** 中台调用平台接口参数: ```js { //桩编号 "deviceCode": "55031412782305", //枪号 "gunNo": 1, //启动方式 1-刷卡启动 2-账号启动(暂不支持) 3-vin码启动 "startType": 1, //是否需要密码 0-不需要 1-需要 "needPwd": 1, //账号或者物理卡号 长度16位,不足补零 "authCode": "0000001200325404", //输入密码,16位md5加密 "password": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", //VIN码 启动方式为vin码启动充电时上送,其他方式置零 "vinCode": "" } ``` ##### 3.1.2 运营平台确认启动充电 0x32 标识符 **ykcStartChargeAuthEvt_reply** 若中台调用接口失败,直接回复桩鉴权失败。 平台创建订单,默认此订单已开始充电,因为不会上传启动充电结果 平台返回给中台的结果: ```js { "success": "1", "data": { //交易流水号 "preTradeNo": "32010600019236012001061803423060", //桩编号 "sn": "55031412782305", //枪号 "gunNo": 1, //逻辑卡号 BCD码 显示在屏幕上,长度不满16位补零 "logicalCardNo": "0000001200365541", //账户余额 保留两位小数 "balance": 10000, //鉴权成功标志 0-失败 1-成功 "result": 1, //失败原因,见下文 "failRes": 0 }, "errorCode": "", "errorMsg": "" } ``` **failRes** 鉴权失败原因: 1-账户不存在 2-账户冻结 3-账户余额不足 4-该卡存在未结账记录 5-桩停用 6-该账户不能在此桩上充电 7-密码错误 8-电站电容不足 9-系统中vin码不存在 10-该桩存在未结账记录 11-该桩不支持刷卡 ##### 3.1.3 实时监测数据 同 2.3.1、2.3.4、2.3.5 #### 3.2 刷卡结束 ##### 3.2.1 充电结束 0x19 目前不明确此报文是否会在主动停止充电后上传,暂且当成会上传 同 2.4.3 ##### 3.2.2 交易记录 0x3B 同 2.4.4 ##### 3.2.3 交易记录确认 0x40 同 2.4.5 ### 4. 其他指令 #### 4.1 计费模型设置 ##### 4.1.1 计费模型设置 0x58 ```js { "method": "YKC_FEEMODEL_UPDATE", //计费模型Id,协议固定为 1 "feeModelId": 1, //电费,尖峰平谷费率,精确到五位小数 "chargeFee":[10000,12000,8000,6000], //服务费,对应尖峰平谷时段服务费,精确到五位小数 "serviceFee":[5000,5000,5000,5000], //计损比例,平台不支持计损功能,计损比例置 0 可以不传 "calLossRatio": 0, //时段数 最多48 "timeNum": 6, //时段开始时间点,时间点分钟部分仅支持 00或30 ,如果全天仅用一个费率,也得传一个时间过来,如"0000" "timeSeg": ["0530","0800","1130","1330","1900","2300"], //时段标志 10-尖时段 11-峰时段 12-平时段 13-谷时段 "segFlag": [10,11,10,12,13,11] } ``` ##### 4.1.2 计费模型设置-支持深谷 0x85 标识符 **ykcFeeModelDeepValleyUpdate** 平台调用中台接口传参: ```js { "method": "YKC_FEE_MODEL_DEEP_VALLEY_UPDATE", //计费模型Id,协议固定为 1 "feeModelId": 1, //电费,尖峰平谷深费率,精确到五位小数 "chargeFee":[10000,12000,8000,6000,5000], //服务费,对应尖峰平谷深时段服务费,精确到五位小数 "serviceFee":[5000,5000,5000,5000,5000], //计损比例,平台不支持计损功能,计损比例置 0 可以不传 "calLossRatio": 0, //时段数 最多48 "timeNum": 6, //时段开始时间点,时间点分钟部分仅支持 00或30 ,如果全天仅用一个费率,也得传一个时间过来,如"0000" "timeSeg": ["0530","0800","1130","1330","1900","2300"], //时段标志 10-尖时段 11-峰时段 12-平时段 13-谷时段 14-深谷时段 "segFlag": [10,11,10,12,13,14] } ``` ##### 4.1.3 计费模型应答 0x57 标识符 **ykcFeeModelUpdate_reply** 中台接口响应 ```js { //结果,0-失败 1-成功 "success": "1", "data": { "msgid": "985793334668742656" }, "errorCode": "", "errorMsg": "" } ``` #### 4.2 远程账户余额更新 ##### 4.2.1 远程账户余额更新 0x42 标识符 **ykcUpdateBalance** 平台调用接口传参: ```js { "method": "YKC_UPDATE_BALANCE", //桩编码 "sn": "55031412782305", //枪号 "gunNo": 1, //物理卡号,16进制,非必填,不满16位前面补零,有物理卡号时桩需要校验当前是否此卡充电 "physicalCardNo": "0000001200365541", //账户余额 保留两位小数 "balance": 10000 } ``` ##### 4.2.2 余额更新应答 0x41 标识符 **ykcUpdateBalance_reply** 中台接口响应 ```js { "success": "1", "data": { //桩编码 "sn": "55031412782305", //物理卡号,非必填 "physicalCardNo": "0000001200365541", //修改结果 0-修改成功 1-设备编号错误 2-卡号错误 "result": 0 }, "errorCode": "", "errorMsg": "" } ``` #### 4.3 工作参数设置 ##### 4.3.1 工作参数设置 0x52 标识符 **ykcSetPileParam** 平台调用中台接口传参: ```js { "method": "YKC_SET_PILE_PARAM", //是否允许工作 0-允许正常工作 1-停止使用,锁定充电桩 "pileLock": 0, //充电桩最大允许输出功率 范围30%~100% "maxPower": 50 } ``` ##### 4.3.2 充电桩工作参数设置应答 0x51 标识符 **ykcSetPileParam_reply** 中台接口响应 ```js { //结果,0-失败 1-成功 "success": "1", "data": { "msgid": "985793334668742656" }, "errorCode": "", "errorMsg": "" } ``` #### 4.4 平台请求实时数据 ##### 4.4.1 请求实时数据 0x12 标识符 **ykcRefresh** 平台调用中台接口传参: ```js { "method": "YKC_REFRESH" } ``` ##### 4.4.2 上传实时监测数据 0x13 响应参数data数据格式同 2.3.5,中台亦会以 **ykcDeRealIty** 标识符参照国网协议属性上报方式转发给平台 中台接口响应: ```js { //结果,0-失败 1-成功 "success": "1", "data": { //交易流水号 "preTradeNo": "32010600019236012001061803423060", //桩编号 "sn": "55031412782305", //枪号 "gunNo": 1, //状态 0-离线 1-故障 2-空闲 3-充电 (国网协议 10-空闲 13-充电中 16-系统故障) "workStatus": 2, //枪是否归位,0-否 1-是 2-未知 "gunPositionState": 1, //是否插枪,0-否 1-是 "gunStatus": 0, //输出电压,1位小数,待机置零 "dcVol": 0, //输出电流,1位小数,待机置零 "dcCur": 0, //枪线温度,整型,偏移量-50,待机置零 "conTemp": 0, //枪线编码,没有置零 "conCode": 0, //SOC,待机置零,交流桩置零 "socVal": 0, //电池组最高温度,整型,偏移量-50,待机置零,交流桩置零 "bMHTemp": 0, //累计充电时间,单位:min,待机置零 "chgTime": 0, //剩余时间,单位:min,待机置零,交流桩置零 "remainT": 0, //充电度数,精确到小数点后四位,待机置零 "totalElect": 0, //计损充电度数,精确到小数点后四位,待机置零,未设置计损比例时等于充电度数 "totalElectCL": 0, //已充金额,精确到小数点后四位;待机置零(电费+服务费)*计损充电度数 "totalCost": 0, //硬件故障,Bit位表示(0否1是) "faultState": 0 }, "errorCode": "", "errorMsg": "" } ``` #### 4.5 重启 ##### 4.5.1 远程重启 0x92 标识符 **ykcRestart** 平台调用中台接口传参: ```js { "method": "YKC_RESTART", //1-立即执行 2-空闲执行 "type": 1 } ``` ##### 4.5.2 远程重启应答 0x91 标识符 **ykcRestart_reply** 中台接口响应 ```js { //结果,0-失败 1-成功 "success": "1", "data": { "msgid": "985793334668742656" }, "errorCode": "", "errorMsg": "" } ``` #### 4.6 OTA升级 ##### 4.6.1 远程升级 0x94 平台升级模式为 ftp 文件升级 标识符 **ykcOta** 平台调用中台接口传参: ```js { "method": "YKC_OTA", //桩型号 1-直流 2-交流 "pileType": 1, //桩功率 "pilePower": 15, //升级服务器地址 "ip": "127.0.0.1", //升级服务器端口 "port": "16878", //用户名 "username": "123", //密码 "password": "123", //文件路径,长度最多32 "filePath": "AC-7KW/20180131", //执行控制 1-立即执行 2-空闲执行 "controlType": 1, //下载超时时间,单位:min "timeout": 5 } ``` ##### 4.6.2 远程升级应答 0x93 中台指令超时时间内收到桩回复直接响应接口,并参照国网协议以 **ykcOtaResultEvt** 事件方式转发平台,以应对超时时间之后收到桩回复的情况 ```js { "success": "1", "data": { //桩编码 "sn": "55031412782305", //升级结果 0-成功 1-编号错误 2-程序与桩型号不符 3-下载更新文件超时 "result": 0 }, "errorCode": "", "errorMsg": "" } ``` **ykcOtaResultEvt** 事件参数: ```js { //桩编码 "sn": "55031412782305", //升级结果 0-成功 1-编号错误 2-程序与桩型号不符 3-下载更新文件超时 "result": 0 } ``` #### 4.7 平台主动对时 ##### 4.7.1 对时设置 0x56 标识符 **ykcTime** 平台调用中台接口传参: ```js { "method": "YKC_TIME", //当前unix时间戳,毫秒级 "timestamp": "1724222188999" } ``` ##### 4.7.2 对时设置应答 0x55 标识符 **ykcTime_reply** 中台接口响应 ```js { //结果,0-失败 1-成功 "success": "1", "data": { "msgid": "985793334668742656" }, "errorCode": "", "errorMsg": "" } ``` #### 4.8 桩二维码设置 ##### 4.8.1 后台远程下发二维码前缀指令 0xF0 标识符 **ykcQRCode** 平台调用中台接口传参: ```js { "method": "YKC_QR_CODE", // 0-第一种(前缀+桩编号) 1-第二种(前缀+桩编号+枪编号) "type": 0, "QR_code": "www.baidu.com?No=" } ``` ##### 4.8.2 桩应答远程下发二维码前缀指令 0xF1 标识符 **ykcQRCode_reply** 中台接口响应 ```js { //结果,0-失败 1-成功 "success": "1", "data": { "msgid": "985793334668742656" }, "errorCode": "", "errorMsg": "" } ``` ### 5 地锁 #### 5.1 地锁数据上送 0x61 地锁状态/报警信息变化时,桩立刻上送变位/报警信息;地锁状态不变化时,每隔 5 分钟周期性上送地锁状态,若无报警信息,不上送 中台以 **ykcGroundLockEvt** 标识符参照国网协议地锁状态变更事件转发给平台 **ykcGroundLockEvt** 事件参数 平台调用中台接口传参: ```js { //桩编号 "sn": "55031412782305", //枪号 "gunNo": 1, //车位锁状态 0-未到位 1-上锁到位 2-降锁到位 "groundLockLiftState": 1, //车位状态 0-无车 1-有车 "parkingLotStatus": 0, //地锁电量状态 0~100% "groundLockBat": 90, //报警状态 0-正常 1-待机状态摇臂破坏 2-摇臂升降异常(未到位) "groundLockError": 0 } ``` #### 5.2 升/降地锁 0x62 标识符 **ykcGroundLock** 平台调用中台接口传参: ```js { "method": "YKC_GROUNDLOCK", //枪号 "gunNo": 1, //UP-升 DOWN-降 "type": "UP" } ``` #### 5.3 桩响应地锁控制 0x63 标识符 **ykcGroundLock_reply** 中台接口响应 ```js { "success": "1", "data": { //桩编号 "sn": "55031412782305", //枪号 "gunNo": 1, //地锁控制返回标志 1-鉴权成功 0-鉴权失败 "result": 1 }, "errorCode": "", "errorMsg": "" } ``` ### 6 日志报文结构 云快充协议中台与桩交互的原始报文和转发平台的报文都存到中台mongodb数据库 **log_Datagram_yyyyMM** 表中,有的报文中台不做转发,就只存原始报文,转发给平台的,将转发的报文和原始报文存一起。 #### 6.1 中台报文日志 ```js { "_id" : Long("989302678269603840"), //桩号 "sn" : "2023080100010001", "deviceId" : Long("41489"), "productId" : Long("230"), "projectId" : Long("1"), "topicStr" : "/sys/a1q5OZTEiYV/2023080100010001/thing/event/property/post", "timestamp" : Long("1724979749080"), //中台转发的报文字符串表示 "plainText" : "{\"id\":\"737\",\"version\":\"1.0\",\"params\":{\"dcGunIdleIty\":{\"gunNo\":1,\"workStatus\":14,\"gunStatus\":10,\"eLockStatus\":10,\"DCK1Status\":10,\"DCK2Status\":10,\"DCPlusFuseStatus\":11,\"DCMinusFuseStatus\":11,\"conTemp1\":100,\"conTemp2\":100,\"dcVol\":6710,\"dcCur\":8000}},\"method\":\"thing.event.property.post\"}", "createTimestamp" : Long("1724979749080"), "type" : "pile", "enterTimestamp" : Long("1724979749"), "totalCost" : 0, "receiveTime" : Long("1724979749080"), //报文类型 "messageType" : "ykcDeRealIty", //中台转发的报文 "datagram" : { "method" : "thing.event.property.post", "id" : "737", "params" : { "ykcDeRealIty" : { "workStatus" : 14, "gunStatus" : 10, "DCK1Status" : 10, "conTemp2" : 100, "gunNo" : 1, "DCMinusFuseStatus" : 11, "eLockStatus" : 10, "DCK2Status" : 10, "DCPlusFuseStatus" : 11, "conTemp1" : 100, "dcVol" : 6710, "dcCur" : 8000 } }, "version" : "1.0" }, //数据传送方向 UP-上行 DOWN-下行 "adapterType": "UP", //桩上报原始报文/中台发给桩的报文 "hexData": "68 5E 02 00 00 0A 55 03 14 12 78 23 05 01 00 40 0D 03 00 9C 40 00 00 E0 93 04 00 9C 40 00 00 80 1A 06 00 9C 40 00 00 20 A1 07 00 9C 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5E 60"; //云快充协议命令字,10进制表示 "code": "10", //桩的ip端口 "remoteAddress" : "/117.132.196.11:9514", "createTime" : ISODate("2024-08-30T09:02:29.080+08:00"), "_class" : "com.acrel.entity.xch.mqtt.StoreDatagram" } ``` #### 6.2 接口日志 中台接口日志(租户日志)存储的是所有平台调用中台接口的日志,包括设备的新增、修改、删除,还有下行指令。 action 字段中台将定义一个枚举,将云快充协议的指令method映射中文说明,优先取用枚举里映射的中文说明,例如 平台远程启动充电、平台远程结束充电等,取不到中文说明再用@TenantLog(action="xx")注解的内容。 ```js { "_id" : Long("989306336757080064"), //默认使用的是注解里的中文说明,中台修改成优先取用指令枚举里的中文说明 "action" : "下发操作指令", "uri" : "/exchange/publish/indicate/operate/ANET20240425", //平台下发的参数 "param" : "[\"ANET20240425\",{\"SwicthId\":\"ANET20240425\",\"group\":\"1\",\"portid\":\"8\",\"method\":\"FORCESWITCH\",\"Switch\":1},{\"enable\":false,\"expired\":false,\"secretApp\":\"NjM1MjU5NTM1MzE4MzgwNTQ1\",\"secretKey\":\"OUdsZVBwSTQ4ZjYzNTI1OTUzNTMxODM4MDU0Ng\"}]", "ip" : "172.22.0.6", //指令执行结果 "result" : "{\"errorCode\":\"2052\",\"errorMsg\":\"设备未连接到MQTT服务器\",\"success\":\"0\"}", "tenantId" : Long("635259535318380544"), "tenantName" : "预付费开发", "secretApp" : "NjM1MjU5NTM1MzE4MzgwNTQ1", "secretKey" : "OUdsZVBwSTQ4ZjYzNTI1OTUzNTMxODM4MDU0Ng", "startTimestamp" : Long("1724980621321"), "endTimestamp" : Long("1724980621331"), "duration" : Long("10"), "type" : "TENANT", "timestamp" : Long("1724980621331"), "serverTime" : ISODate("2024-08-30T09:17:01.331+08:00"), "createTime" : ISODate("2024-08-30T09:17:01.331+08:00"), "delFlag" : "FALSE", "_class" : "com.acrel.entity.sys.log.TenantLog" } ``` #### 6.3 报文类型汇总 | 名称 | messageType | 报文命令字(code) | 数据传送方向 | | :-------------------------: | :-------------------------: | :--------------: | :----------: | | 充电桩登录认证 | ykcLoginEvt | 0x01 (1) | 上行 | | 登录认证应答 | ykcLoginEvt_reply | 0x02 (2) | 下行 | | 计费模型验证请求 | ykcAskVerifyFeeModel | 0x05 (5) | 上行 | | 计费模型验证请求应答 | ykcAskVerfiyFeeModel_reply | 0x06 (6) | 下行 | | 计费模型请求 | ykcAskFeeModelEvt | 0x09 (9) | 上行 | | 计费模型请求应答 | ykcAskFeeModelEvt_reply | 0x0A (10) | 下行 | | 计费模型请求应答-支持深谷 | ykcAskFeeModelDeepValleyEvt_reply | 0x0B (11) | 下行 | | 充电桩心跳包 | ykcHeartbeat | 0x03 (3) | 上行 | | 心跳包应答 | ykcHeartbeat_reply | 0x04 (4) | 下行 | | 平台远程控制启机 | ykcStartCharging | 0x34 (52) | 下行 | | 远程启机命令回复 | ykcStartChaResEvt | 0x33 (51) | 上行 | | 充电桩主动申请启动充电 | ykcStartChargeAuthEvt | 0x31 (49) | 上行 | | 运营平台确认启动充电 | ykcStartChargeAuthEvt_reply | 0x32 (50) | 下行 | | 远程账户余额更新 | ykcUpdateBalance | 0x42 (66) | 下行 | | 余额更新应答 | ykcUpdateBalance_reply | 0x41 (65) | 上行 | | 平台远程停机 | ykcAppStopCharging | 0x36 (54) | 下行 | | 远程停机命令回复 | ykcAppStopCharging_reply | 0x35 (53) | 上行 | | 充电握手 | ykcBmsStart | 0x15 (21) | 上行 | | 充电桩上传参数配置 | ykcBmsConfig | 0x17 (23) | 上行 | | 充电过程BMS需求与充电机输出 | ykcBmsReq | 0x23 (35) | 上行 | | 充电过程BMS信息 | ykcBmsRunIty | 0x25 (37) | 上行 | | 上传实时数据 | ykcDeRealIty | 0x13 (19) | 上行 | | 错误报文 | ykcTotalFaultEvt | 0x1B (27) | 上行 | | 充电阶段BMS中止 | ykcBmsStopEvt | 0x1D (29) | 上行 | | 充电阶段充电机中止 | ykcPileStopEvt | 0x21 (33) | 上行 | | 充电结束 | ykcChaStopEvt | 0x19 (25) | 上行 | | 交易记录 | ykcOrderUpdateEvt | 0x3B (59) | 上行 | | 交易记录-支持深谷 | ykcOrderUpdateDeepValleyEvt | 0xB3 (179) | 上行 | | 交易记录回复 | ykcOrderUpdateEvt_reply | 0x40 (64) | 下行 | | 计费模型设置 | ykcFeeModelUpdate | 0x58 (88) | 下行 | | 计费模型设置-支持深谷 | ykcFeeModelDeepValleyUpdate | 0x85 (133) | 下行 | | 计费模型设置应答 | ykcFeeModelUpdate_reply | 0x57 (87) | 上行 | | 充电桩工作参数设置 | ykcSetPileParam | 0x52 (82) | 下行 | | 充电桩工作参数设置应答 | ykcSetPileParam_reply | 0x51 (81) | 上行 | | 请求实时数据 | ykcRefresh | 0x12 (18) | 下行 | | 远程重启 | ykcRestart | 0x92 (146) | 下行 | | 远程重启应答 | ykcRestart_reply | 0x91 (145) | 上行 | | 远程升级 | ykcOta | 0x94 (148) | 下行 | | 远程升级应答 | ykcOtaResultEvt | 0x93 (147) | 上行 | | 对时设置 | ykcTime | 0x56 (86) | 下行 | | 对时设置应答 | ykcTime_reply | 0x55 (85) | 上行 | | 地锁数据上送 | ykcGroundLockEvt | 0x61 (97) | 上行 | | 升/降地锁 | ykcGroundLock | 0x62 (98) | 下行 | | 桩响应地锁控制 | ykcGroundLock_reply | 0x63 (99) | 上行 | | 下发二维码前缀 | ykcQRCode | 0xF0 (240) | 下行 | | 桩应答下发二维码前缀指令 | ykcQRCode_reply | 0xF1 (241) | 上行 | #### 6.4 转发电能平台的topic | 名称 | 标识 | Topic | | :--------------: | :--------------------------------: | :---------------------: | | 登录认证事件 | thing.event.ykcLoginEvt.post | ykc/pile/up | | 属性(状态)上报 | thing.ykc.property | ykc/pile/up | | 请求计费模型事件 | thing.event.ykcAskFeeModelEvt.post | ykc/pile/askFeeModelEvt | | 故障告警事件 | thing.event.ykcTotalFaultEvt.post | ykc/alarm/up | | 充电阶段BMS中止事件 | thing.event.ykcBmsStopEvt.post | ykc/alarm/up | | 充电阶段充电机中止事件 | thing.event.ykcPileStopEvt.post | ykc/alarm/up | | 启动充电结果事件 | thing.event.ykcStartChaResEvt.post | ykc/start_charging/up | | 充电结束事件 | thing.event.ykcChaStopEvt.post | ykc/stop_charging/up | | 地锁状态上报事件 | thing.event.ykcGroundLockEvt.post | ykc/pile/groundLockEvt | | OTA升级结果事件 | thing.event.ykcOtaResultEvt.post | ykc/pile/otaResultEvt |
王旭东
2025年12月12日 14:31
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码