青岛特某电新能源有限公司-充电业务流程及数据交互规范-集控前置-精简版V1.0

1 范围

本流程规定了特某电充电终端所属的集控器与特某电云平台前置之间的充电相关业务流程,明确两端之间的请求和响应。

2 术语

云平台:云平台是提供包括充电设备接入,充电设备信息采集,充电设备管 理,充电设备运维管理等服务,面向用户提供充电服务的支撑系统。
充电站:有充电终端,并能够提供充电服务的站点。一个充电站可能只有一 台充电终端桩,也可能有很多台充电终端。
集控器:安装在充电站内部的一个组件,提供承上启下的通信功能,业务管 理功能,用户交互功能,充电计量等功能等。
充电终端:对电动汽车提供充电服务的终端设备,包括直流充电终端和交流 充电终端。
充电卡:刷卡充电的卡片,主要分为两种:

  1. 鉴权卡:卡片本身只存储身份识别信息,只作为身份识别及鉴权。用鉴权卡 来支持支付功能时,通常关联到后台账号,卡关联的账号余额都在后台,消费及充值都在后台完成。
  2. 钱包卡:卡片本身不仅存储了身份信息,也存储了余额信息,可用于离线支付。消费及充值都在卡片本地完成。(扩展待考虑)

地锁:能通过网络进行控制和状态召唤的智能地锁。
EV:Electrical Vehicle,新能源电动汽车。

[推荐一套企业级开源充电桩平台:完整代码包含多租户、硬件模拟器、多运营商、多小程序,汽车
电动自行车、云快充协议;——(慧哥)慧知开源充电桩平台;(慧哥)慧知开源充电桩平台 -
企业级完整代码包含多租户、硬件模拟器、多运营商、多小程序,汽车 电动自行车、 云快充1.5
云快充1.6、SpringCloud、MySQL、uniapp、redis;]

在这里插入图片描述

3 通信协议

3.1 通信协议结构

本标准的通信协议结构如下图,本标准通信基于 TCP/IP 之上,位于 OSI 参考模型 应用层(第 7 层)。本标准定义的应用层帧结构,后文采用“报文”简称。
传输层在 TCP 上使用 TLS 加密机制。
应用层(3.2 中 Payload 的报文体)使用 Protobuf 进行编解码。
在这里插入图片描述

3.2 报文结构定义

报文结构定义:
在这里插入图片描述

注:
低字节不为0x00 的情况下,高字节为0x00;
高字节不为0x00 的情况下,低字节为0x00。
报文头里的整型字段的字节序使用大端方式。

3.3 传输机制

发起方发送请求报文,接收方回复响应报文或错误报文,错误报文的错误码解释了 接收方为何无法正确地处理请求报文。
在这里插入图片描述

3.4 消息类型定义

MessageType 定义,标记 “ ○”符号的响应为可选项,可以不响应。
所有的消息(请求和响应)都定义了类型代码。
请求消息的类型代码小于 0x80;
类型代码加上 0x80 就是对应消息的响应类型代码。
错误响应类型代码为 0xFF。
接收方回复错误消息时 payload 是一个字节,内容 为 ErrorCode。
在这里插入图片描述

注:
1.不单独定义"终端启动充电结果通知"和"终端结束充电结果通知"消息,使用"订单上传"替代。
2. 实时数据上送方法:充电机状态、状态数据,遥测数据,在链路建立成功后,云端总召一 次。正常充电过程中,云端可以按照周期(30S)召唤遥测、状态数据,如果是直流终端,则 可以召唤BMS 数据。
3.P—云平台;D—集控器

3.5 消息体定义

每条消息的域(字段)编号做了规定,该域的限定也做了规定,限定包括:
0 - 可选,表示该域可为空。基本类型用默认值表示空,复杂类型用 null 表示空。
1 - 必选,表示该域是必填的。
*-\重复,表示该域是个元素可重复的列表,列表的大小允许为 0。

3.5.1 心跳(0x00)

在这里插入图片描述
在这里插入图片描述

3.5.2 上线申请(0x02)

在这里插入图片描述
在这里插入图片描述

3.5.3 离线通知(0x04)

在这里插入图片描述

在这里插入图片描述

3.5.4 平台侧启动充电指令(0x11)

在这里插入图片描述
在这里插入图片描述

3.5.5 平台侧停止充电指令(0x13)

在这里插入图片描述
在这里插入图片描述

3.5.6 设备侧启动充电申请(0x10)

在这里插入图片描述

在这里插入图片描述

3.5.7 设备侧停止充电申请(0x12)

在这里插入图片描述
在这里插入图片描述

3.5.8 订单上传(0x16)

在这里插入图片描述
在这里插入图片描述

3.5.9 充电机状态变化通知(0x20)

在这里插入图片描述

3.5.10 充电机状态召唤(0x21)

在这里插入图片描述

3.5.11 账户详情获取(0x22)

在这里插入图片描述
在这里插入图片描述

3.5.12 账户信息同步申请(0x24)

在这里插入图片描述

在这里插入图片描述

3.5.13 BMS 参数通知(0x26)

在这里插入图片描述

3.5.14 遥测数据召唤(0x31)

在这里插入图片描述

3.5.15 状态数据召唤(0x33)

在这里插入图片描述

3.5.16 BMS 数据召唤(0x35)

在这里插入图片描述

3.5.17 遥测数据通知(0x32)

在这里插入图片描述

3.5.18 状态数据通知(0x34)

在这里插入图片描述

3.5.19 BMS 数据通知(0x36)

在这里插入图片描述

3.5.20 未被确认所有订单召唤(0x41)

在这里插入图片描述
在这里插入图片描述

3.5.21 指定编号订单召唤(0x43)

在这里插入图片描述
在这里插入图片描述

3.5.22 清空集控器中白名单信息命令.下发(0x49)

在这里插入图片描述

3.5.23 错误(0xFF)

在这里插入图片描述

3.6 类型定义

3.6.1 类类型

3.6.1.1 AccountInfo-账户信息

账户信息根据不同的用户 ID 对不同的用户的账单信息进行存储,用户的账目详情 可以被划分为很多的类型,用户的当前账目状态如下:
类:
在这里插入图片描述

3.6.1.2 AccountingStrategy-计费策略

类:
在这里插入图片描述

3.6.1.3 BillInfo-订单详情

类:
在这里插入图片描述

3.6.1.4 CarInfo-汽车状态信息

类:
在这里插入图片描述

3.6.1.5 CardInfo-充电卡的状态信息

类:在这里插入图片描述

3.6.1.6 ChargerState-充电机工作状态

类:在这里插入图片描述

3.6.1.7 ChargeFrozen-充电冻结电量

类:
在这里插入图片描述

3.6.1.8 DischargeFrozen-放电冻结电量

类:在这里插入图片描述

3.6.1.9 BmsShakehands-握手阶段 BMS 信息

类:
在这里插入图片描述

3.6.1.10 BmsConfig-参数配置阶段 BMS 信息

类:在这里插入图片描述

3.6.1.11 BmsChargeFinish-充电结束阶段 BMS 信息

类:在这里插入图片描述

3.6.1.12 BmsErrorFrame-BMS 错误报文

类:在这里插入图片描述

3.6.1.13 BmsCharging-充电阶段 BMS 信息

类:
在这里插入图片描述

3.6.1.14 QueueSequence-终端排队序号

类:在这里插入图片描述

3.6.2 枚举类型

3.6.2.1 AccountType-账户类型

枚举类型:
在这里插入图片描述

3.6.2.2 BoolEnum—布尔枚举

枚举类型:在这里插入图片描述

3.6.2.3 BillStatus –订单状态

枚举类型:
在这里插入图片描述

3.6.2.4 ChargerStateEnum-充电机工作状态枚举

枚举类型:在这里插入图片描述

3.6.2.5 ErrorCode-错误代码

枚举类型:在这里插入图片描述

3.6.2.6 FailReason-失败原因

枚举类型:在这里插入图片描述

3.6.2.7 MeasureType-遥测数据项

枚举类型:在这里插入图片描述

3.6.2.8 OfflineReason-集控器离线原因

枚举类型:在这里插入图片描述

3.6.2.9 RegistrationStatus-注册结果

枚举类型:
在这里插入图片描述

3.6.2.10 StartChargeType –充电类型

枚举类型:在这里插入图片描述

3.6.2.11 ChargeRequestType-充电请求类型

枚举类型:
在这里插入图片描述

3.6.2.12 ChargeDischarge–充放电类型

枚举类型:在这里插入图片描述

3.6.2.13 StartChargeWay-启动方式

枚举类型:
在这里插入图片描述

3.6.2.14 StateType-状态数据类型

枚举类型:
在这里插入图片描述

3.6.2.15 SendReason-数据传送原因

枚举类型:
在这里插入图片描述

3.6.2.16 SyncAccountType –需要同步的账户类型

枚举类型:在这里插入图片描述

3.6.2.17 ChargingMode –充电类型

枚举类型:在这里插入图片描述

3.6.2.18 CtrlHardwareType –集控硬件类型

枚举类型:
在这里插入图片描述

3.6.3 其他类型

3.6.3.1 DateTime

int64类型,使用UTC时间,精确到毫秒,例如: 1528937212794表示2018-06-14 08:46:52:794

4 消息流程定义

一组消息为一问一答形式,某些消息的响应可选,一个完整的流程流程一般由一组 或多组消息组成。

4.1 接入平台流程

在这里插入图片描述

4.2 心跳流程

在这里插入图片描述

4.3 集控器上线初始化流程

先召唤所有的离线订单,再召唤所有的当前充电机工作状态。

在这里插入图片描述

4.4 平台侧发起充电流程

在这里插入图片描述

4.5 设备侧发起充电流程

在这里插入图片描述

4.6 平台召唤数据流程

以遥测为例:
在这里插入图片描述

4.7 平台下发数据流程

以下发充电计划曲线为例(响应为可选项):
在这里插入图片描述

4.8 集控器主动上报数据

以充电机状态变化通知为例(响应为可选项):在这里插入图片描述

4.9 集控器请求数据

以账户信息请求为例(响应为可选项):

在这里插入图片描述

4.10 集控白名单同步流程

在这里插入图片描述

1)集控第一次出厂上电,和平台握手成功后,发送账户信息同步申请请求(0x24), 请求账户信息,SyncTime 填 0,Size 填 100。
否则 SyncTime 填最后一次平台回复的账户信息同步申请.响应(0xA4)的 SyncTime。 SyncTime 需要在集控持久化。
2)平台收到后,从数据库中读取集控制定时间之后的信息,如果小于 100 条,则全部打 包在一起,SyncTime 写最后一条账户的更新时间。如果大于 100 条,则只发送 100 条,
SyncTime 写第 100 条条账户的更新时间。
3)集控收到后,如果账户条数小于 100 条,则结束;否则,继续请求,SyncTime 填平台 回复的 SyncTime。后面间隔 3S 继续请求下 100 条。
账户同步建议增加全量更新账户的功能。
应用场景:怎么同步都无法保持一致,因此人工进行白名单的同步。
实现方式:协议中增加平台下发集控账户清空的指令,集控收到后发起白名单请求,申请 时间为 0。平台提供界面给具备权限的人员使用。

在这里插入图片描述

附录 A

充电中止原因说明
在这里插入图片描述

附录 B

设备发起充电时平台的响应结果说明
在这里插入图片描述

附录 C

故障代码说明
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/147773.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Gin框架入门(1)--路由搭建与Json处理

背景知识 为什么要使用Go框架 如果不使用框架,在创建服务器和调用端口时会遇到各种各样“奇怪”的问题(就是出错的排查方向可能达到十几种),而且这些问题很难有相似性。同时作为适应于微服务的一门语言,代码的规范化…

构建高可用和高防御力的云服务架构第三部分:ECS集群(3/5)

ECS(Elastic Compute Service)是一种基础云计算服务,它提供了可伸缩的计算能力,允许用户在不需要预先购买硬件的情况下,根据需求快速扩展或缩减资源。ECS在云计算中的作用主要体现在提供虚拟化的服务器,用户…

食探秘:Spring Boot校园周边美食发现平台

第三章 系统设计 3.1 系统概要设计 本校园周边美食探索及分享平台选择B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式。适合在互联网上进行操作,只要用户能连网,任何时间、任何地点都可以进行系统的操作使用。系统工作原理图如图3-1所…

专业学习|动态规划(概念、模型特征、解题步骤及例题)

一、引言 (一)从斐波那契数列引入自底向上算法 (1)知识讲解 (2)matlap实现递归 (3)带有备忘录的遗传算法 (4)matlap实现带有备忘录的递归算法 “&#xff1…

linux入门介绍(通俗易懂,快速理解linux)

什么是操作系统? 操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是配置在计算机硬件上的第一层软件,任何其它软件都必须在操作系统的支持下才能运行。 简单来说&#…

【LeetCode热题100】位运算

这篇博客先介绍了常见位运算操作,然后记录了关于位运算的几道题,包括判定字符是否唯一、丢失的数字、两整数之和、只出现一次的数字2、消失的两个数字。 在这一部分,我们不妨先来总结一下常见位运算操作: 1.基础位运算 >>…

fastadmin数据库创建说明文档

文章目录 数据库根据字段类型特殊字段以特殊字符结尾的规则注释说明 实例数字下拉列表日期时间文本框权重category_id --单选下拉框category_ids --多选下拉框deletetime --对应回收站status --对应tab常见问题 参考完结 数据库 这里提供的是数据库表字段规则在你创建表时使用…

Linux内核移植实战总结

直接参考【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.81 本文仅作为个人笔记使用,方便进一步记录自己的实践总结。 前两章我们简单了解了一下 Linux 内核顶层 Makefile 和 Linux 内核的启动流程,本章我们就来学习一下如何将 NXP官方提供的 Linux 内核移…

17.1ksm关注指标讲解 pod和node状态的统计

本节重点介绍 : 主要的应用 看状态数个数 根据13105大盘模板看ksm指标 节点指标pod和容器指标资源对象按namespace分布指标其他资源指标 主要的应用 看状态,举例图片数个数,举例图片 根据大盘模板 查看指标 https://grafana.com/grafana/dashboard…

Tomcat靶场攻略

一.CVE-2017-12615 1.首页抓包,修改为 PUT 方式提交 ,将jsp木马写到数据包中 2.哥斯拉默认秘钥连接 二.后台弱⼝令部署war包 1.制作WAR包,上传 将JSP⽊⻢压缩为ZIP格式,然后修改后缀为war 2.文件上传成功后,默认会在网站根目录下生成和wa…

Apache 中间件漏洞

CVE-2021-41773 环境搭建 docker pull blueteamsteve/cve-2021-41773:no-cgid 访问172.16.1.4:8080 使⽤curl http://172.16.1.4:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd

面向对象设计其他原则例题

答案:D 知识点: 面向对象设计其他原则 重用发布等价原则 重用的粒度就是发布的粒度 共同封闭原则 包中的所有类对于同一性质的变化应该是共同封闭的。一个变化若对一个包产生影响,则将对该包里的所有类产生影响,而对于其他的…

Fyne ( go跨平台GUI )中文文档-Fyne总览(二)

本文档注意参考官网(developer.fyne.io/) 编写, 只保留基本用法 go代码展示为Go 1.16 及更高版本, ide为goland2021.2​​​​​​​ 这是一个系列文章: Fyne ( go跨平台GUI )中文文档-入门(一)-CSDN博客 Fyne ( go跨平台GUI )中文文档-Fyne总览(二)-CSDN博客 Fyne…

如何为 Java 应用程序创建安装程序

在 Java 中编写桌面应用程序时,我们总是希望其外观和感觉能够尽量贴近原生应用程序。因为一个优秀的应用程序应该要能融入其中,为用户提供已经熟悉的体验。 Swing GUI 的外观和感觉: Metal vs. Native 在桌面上,用户的使用旅程并不是从应用程…

什么是频谱泄露?

参考:https://www.bilibili.com/video/BV17a411j7bH/?spm_id_from333.337.search-card.all.click&vd_source7a1a0bc74158c6993c7355c5490fc600 在理想情况下(周期信号且时间无限),信号经过 FFT 后可以得到理想的频谱 但在现实…

【iOS】引用计数(一)

【iOS】引用计数 文章目录 【iOS】引用计数前言ARC与MRC什么是引用计数的机制内存管理的思考方式自己生成的对象非自己生成的对象不再需要自己持有就释放无法释放非自己持有的对象 autorelease小结 前言 笔者最近开始学习了一下有关于引用计数的内容,写这篇博客来简…

关于自动化测试的一点了解

一 自动化测试基础的认识 1)首先,什么是自动化测试? 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的过程一步步执行测试,得到实…

史上最全!!!大厂面试真题-SpringBoot自动装配的原理是什么?

我想你也在真实面试中被问过无数次这个问题了,我也是,但是不管你怎么搜,都只有那几篇八股文的答案,你问GPT它都解释不清楚,我决定自己写一篇详细的,避免遗忘也想帮助一下患难中的兄弟姐妹们,能把…

struct的精确用法

目录 我终于回来啦! 1,可以创造根据结构体格式的成员或数组。 普通成员 数组成员 2,可以用指针遍历成员 3,使用typedef --------------------------------------------------------------------------------------------------------------------------------…

代码随想录Day 52|题目:101.孤岛的面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿

提示:DDU,供自己复习使用。欢迎大家前来讨论~ 文章目录 图论part03题目一:101.孤岛的总面积解题思路DFS**BFS** 题目二:102. 沉没孤岛解题思路 题目三:103. 水流问题解题思路优化 题目四:104.建造最大岛屿…