充电桩--OCPP 充电通讯协议介绍

一、OCPP协议介绍

OCPP的全称是 Open Charge Point Protocol 即开放充电点协议, 它是免费开放的协议,该协议由位于荷兰的组织 OCA(开放充电联盟)进行制定。Open Charge Point Protocol (OCPP) 开放充电点协议用于充电站(CS)和任何充电站管理系统(CSMS)之间的统一通信方案。这个协议架构支持任何充电服务供应商的中央管理系统与所有的充电桩互相连接,主要用于解决私营的充电网络间通讯产生的各种困难。OCPP支持充电站点与各供应商中央管理系统间的无缝通讯管理。在过去的很多年内,私营充电网络的封闭特性已经给大量电动汽车车主和地产管理者造成很多无谓的挫折感,引发整个行业对一个开放模型的广泛呼吁。OCPP协议的优点:开放免费使用、防止锁定单个供应商(充电平台)、减少集成时间/工作量和IT问题。

在这里插入图片描述

图 :OCA 的部分成员

1、OCPP版本发展介绍

在这里插入图片描述

图 : OCPP发展时间

2009年荷兰的ElaadNL公司发起成立开放充电联盟,该联盟主要负责推进开放充电协议OCPP和开放智能充电协议OSCP。现在归OCA所有;OCPP可以支持所有类型的充电技术。

2、OCPP版本介绍

如下图,从OCPP1.5到现在最新的OCPP2.0.1

在这里插入图片描述

(1)OCPP1.2(SOAP)

(2)OCPP1.5(SOAP)

由于行业内存在太多私有协议,无法支持不同运营商服务间的统一服务体验和操作互联,所以OCA牵头推进制定了该开放协议OCPP1.5。SOAP受限于本身协议的约束, 无法大范围快速推广。

OCPP 1.5通过基于HTTP协议的SOAP协议与中央系统进行通信,从而操作充电点它支持以下功能:本地和远程启动的交易,包括计费的计量

(3)OCPP1.6(SOAP/JSON)

OCPP1.6版本,加入了JSON格式的实现方式,并增加了智能充电的拓展性。JSON版本是通过WebSocket通信, 可在任何网络环境下互发数据,目前市场上使用最多的协议是1.6J 版本,

支持基于websockets协议的JSON格式数据,以减少数据流量(JSON,JavaScript对象表示法,是一种轻量级的数据交换格式)并且允许在不支持充电点包路由的网络上运行(例如公共internet)。智能充电:负载均衡,中央智能充电和本地智能充电。让充电点重新发送自身信息(以当前充电点信息为准),例如最后的计量值或充电点的状态。

(4)OCPP2.0(JSON)

2018年发布的OCPP2.0,改进了事务处理,增加安全性、设备管理:增加智能充电功能,对于具有能量管理系统(EMS)、本地控制器的拓扑结构,以及用于电动汽车集成智能充电、充电站和充电站管理系统的拓扑结构。支持ISO 15118:关于电动汽车的即插即用和智能充电要求。

(5)OCPP2.0.1(JSON)

OCPP 2.0.1 是最新版本,于 2020 年发布。它提供了新的功能和改进,如支持 ISO15118(即插即用)、增强了安全性并全面提高了性能。

3、OCPP版本兼容性

OCPP1.x是向低版本兼容, OCPP1.6兼容OCPP1.5, OCPP1.5兼容OCPP1.2。

OCPP2.0.1不兼容OCPP1.6,OCPP2.0.1中虽然有些内容在OCPP1.6也有, 但是发送的数据帧格式已经完全不同

二、OCPP 2.0.1协议

1、OCPP 2.0.1和OCPP 1.6区别****

相较于OCPP1.6等更早的版本,OCPP2.0. 1在以下几个方面有较大的改进:

提高安全性:OCPP2.0.1通过引入基于安全套接层的HTTPS连接以及新的证书管理方案进行安全加固,以确保通信的安全性。

增加新功能:OCPP2.0.1增加了许多新功能,包括智能充电管理,以及更详尽的故障报告和分析等。

设计更灵活:OCPP2.0.1的设计更加灵活,能够满足更加复杂和多样化的应用需求。

代码简化:OCPP2.0.1简化了代码,使得软件实现更加容易。

OCPP2.0.1中固件更新增加了数字签名, 防止固件下载不完整, 导致固件更新失败,

在实际应用中,OCPP2.0.1协议可以用于实现充电桩的远程控制,充电状态的实时监控,用户认证等功能,从而大大提高了充电设备的使用效率和安全性。OCPP2.0.1细节和功能比1.6版本多了很多, 开发的难度也增大了。

2、OCPP2.0.1功能介绍
在这里插入图片描述

OCPP2.0.1协议是OCPP协议的最新版本,与OCPP1.6相比,做出了大量的改进和优化。主要内容包括:

消息传输:OCPP2.0.1新增了一些消息类型,并对一些旧的消息格式进行了修改,以提高效率和性能。

数字证书:在OCPP2.0.1中,引入了基于数字证书的安全机制,从而提供了加固的设备身份验证和消息完整性保护。这是对OCPP1.6安全机制的重大改进。

数据模型:OCPP2.0.1更新了数据模型,增加了对新的设备类型和功能的支持。

设备管理:OCPP2.0.1提供了更全面的设备管理功能,包括设备配置、故障诊断、软件更新等。

组件模型:OCPP2.0.1引入了更加灵活的组件模型,可以用于描述更复杂的充电设备和系统。这有助于实现更高级的功能,如V2G(Vehicle to Grid,车载电网)。

智能充电:OCPP2.0.1增加了对智能充电的支持,例如,可以根据电网的状况或用户的需求,动态调整充电功率。

用户身份和授权:OCPP2.0.1提供了更加完善的用户身份识别和授权机制,支持多种用户身份验证方法,同时对于用户数据保护也提出了更高的要求。

三、OCPP 功能介绍

1、 智能充电

在这里插入图片描述

外部能源管理系统 (EMS)

OCPP 2.0.1 通过引入通知机制(Notification)来解决这个问题,这个机制可以通知 CSMS(充电站管理系统)所受到的外部限制。支持能源管理系统(EMS)的直接智能充电输入可以解决许多情况:

连接到充电点的电动汽车(通过 ISO 15118)

OCPP 2.0 .1支持 ISO 15118 - 用于 EVSE 到 EV 通信的更新协议。ISO 15118 标准的即插即充电和智能充电(包括来自 EV 的输入)更易于使用 OCPP 2.0 .1实施. 使充电站运营商能够(从 CSMS)发送关于充电站的消息,以显示给 EV 驾驶员。

智能充电用途:

(1)负载均衡

负载均衡主要是针对充电站的内部负载而言,充电站会根据预先的配置控制各个充电桩的充电功率,充电站会被配置一个固定的限制值,比如最大的输出电流。此外,配置中还包含可选的选项 用于优化充电桩对各个充电桩的功率分配。该配置告诉充电站低于该配置值得充电速率是无效的,应当选择其它充电策略。

(2)中央智能充电

中央智能充电假定充电限制由中央系统进行控制,中央系统接收到电网运营商关于电网容量的预测信息后会计算出部分或者全部的充电计划,中央系统会对充电桩进行充电限制,通过响应 消息来设置充电限制。

(3)本地智能充电

本地智能充电则是通过一个本地控制器来实现,该控制器相当于一个 OCPP 协议的代理,负责接收来自中央系统的消息,并且控制组内其它充电站的充电行为,该控制器本身可以配备充电桩,也可以选择不配备。在本地智能充电的模式下,本地控制器对充电站的充电功率进行限制,在充电过程中,该限制值可以进行修改,该充电组的限制值可以在本地进行配置,也可以由中央系统进行配置。

2、系统介绍

在这里插入图片描述

系统构架

在这里插入图片描述

软件构架

OCPP2.0.1协议中功能模块划分主要包括数据传输(DataTransfer)模块、授权(Authorization)模块、安全(Security)模块、交易(Transactions)模块、计量( MeterValues)模块、计费(Cost)模块、预约(Reservation)模块、智能充电(SmartCharging)模块、诊断( Diagnostics)模块、固件管理(FirmwareManagement)模块、显示(DisplayMessage)模块

四、OCPP 未来发展

1、OCPP的优势

OCPP是一项免费且开放的协议,也是解决当前充电桩互联互通的有效途径,且已在全球多个国家推广使用,虽然我国尚未形成统一协议,但若以OCPP协议做基础,未来运营商服务间的互联互通将有语言可沟通。根据当前中国新能源汽车产业的发展,充电设施的调整和统一迫在眉睫,而国家部门或运营商是否采用OCPP协议还需要时间的检验。

在OCPP出现之前,每个充电桩制造商都会为后台连接开发自己的专有协议,从而将充电桩运营商与单个充电桩制造商锁定在一起。现在,由于几乎所有的硬件制造商都支持OCPP,充电桩运营商可以自由选择任何供应商的硬件,这使得市场更具竞争力。

物业/企业业主的情况也是如此;当他们购买非OCPP充电站或与非OCPP CPO签订合同时,他们将被锁定到特定的充电站和充电桩运营商。但有了符合OCPP的充电硬件,业主可以保持独立于供应商。业主可以自由地选择更具竞争力、价格或功能更优的CPO。也可以通过混合不同的充电桩硬件来扩展网络,而无需拆除现有装置。

当然,电动汽车的主要好处是,电动汽车驾驶员不需要依赖于单一的充电桩运营商或电动汽车供应商。与购买的OCPP充电站相同,电动汽车驾驶员可以切换到更好的CPO/EMP。第二个,但非常重要的好处是能够使用电子移动漫游。OCPP和另一个开放协议OCPI使电子漫游成为可能。E-Roaming为电动汽车驾驶员提供了对所有可用充电基础设施的访问权限,只需一次订阅或与E-Mobility服务提供商签订合同即可。

2、OCPP与国内协议区别

目前,国家电网,南方电网,特来电和奥能等多数国内充电设备生产厂商和运营商多采用以104协议作为基础协议,并对其进行一定程度上的修改。

在这里插入图片描述

据了解,104协议基于TCP/IP,是一个二进制格式的通讯协议。其数据量很小,但是易读性较差,而且缺少拓展性。其劣势包括:用户账户信息管理和预约,车端BMS信息和电池认证,车位实时状态信息等。比如,如果分时租赁公司想要更深度的优化用户体验,就很难通过车桩传递相关信息来完成;如果电桩想及时告知车主电池状态也很难做到,拓展性较弱。

所以,基于以上劣势,部分厂商实现的过程中都做了一定程度的修改,来部分满足上述未满足的场景,导致每家实现的细节都不尽然相同,这部分的区别导致很多对外对接的时候本质依然是一个半私有协议,有大量定制化对接成本。

据悉,104协议包含业务数据格式和网络管理两部分,目前大多数厂家实现时并没有使用网络管理的相关命令。由于之前大多数专用快速营运性充电站很多在城市并在地面建设,所以无线连接的问题并不严重。但是随着私家乘用车的发展,基于停车场改造建设充电设施,受充电场所的复杂性导致不能保证时时连接通畅,这种情况下未针对网络信号弱的处理方式就暴露出较多的问题。

3、OCPP在电动汽车充电中作用

(1)OCPP帮助EVSE和CSMS相互通信

(2)电动汽车用户开始充电的授权

(3)充电配置的远程修改,远程充电控制(启动/停止),远程解锁枪(连接器id)

(4)充电站的实时状态(可用、已停止、已暂停、未经授权EV/EVSE)、实时充电数据、实时功耗、实时EVSE故障

(5)智能充电(减少电网负载)

(6)固件管理(OTAA)

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

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

相关文章

如何制作公司小程序

我是【码云数智】平台的黄导,今天分享:如何制作公司小程序 企业小程序怎么制作,企业小程序制作不仅成为了连接消费者与品牌的桥梁,更是企业数字化转型的重要一环。 01、小程序制作流程 02、微信小程序开发多少钱 03、微信小程…

明道云正式发布国际品牌Nocoly

在2024年明道云伙伴大会上,明道云正式发布了其国际品牌Nocoly以及国际版产品Nocoly HAP。这标志着公司正式开启了海外业务。明道云的海外业务由全资拥有的Nocoly.com Limited经营,该公司注册在香港特别行政区。总部位于上海的明道云已经将围绕HAP超级应用…

如何构建一个可扩展的测试自动化框架?

以下为作者观点: 假设你是测试自动化方面的新手,想参与构建一个框架。在这种情况下,重要的是要了解框架所需的组件,以及它们是如何组合的。思考项目的具体需求和目标,以及可能遇到的困难和挑战。 假如你是一个测试架…

C++builder中的人工智能(11):双曲正切激活函数(ANN函数)?

在这篇文章中,我们将探讨双曲正切函数(tanh)是什么,以及如何在C中使用这个函数。让我们来回答这些问题。 在AI中激活函数意味着什么? 激活函数(phi()),也称为转移函数或阈值函数&a…

基于SSM+VUE宠物医院后台管理系统JAVA|VUE|Springboot计算机毕业设计源代码+数据库+LW文档+开题报告+答辩稿+部署教+代码讲解

源代码数据库LW文档(1万字以上)开题报告答辩稿 部署教程代码讲解代码时间修改教程 一、开发工具、运行环境、开发技术 开发工具 1、操作系统:Window操作系统 2、开发工具:IntelliJ IDEA或者Eclipse 3、数据库存储&#xff1a…

二、SSM框架制作CRM系统案例

一、搭建框架 1、首先创建下面的目录结构 2、添加相关依赖&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-inst…

【GPTs】Email Responder Pro:高效生成专业回复邮件

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AIGC | GPTs应用实例 文章目录 &#x1f4af;GPTs指令&#x1f4af;前言&#x1f4af;Email Responder Pro主要功能适用场景优点缺点 &#x1f4af;小结 &#x1f4af;GPTs指令 Email Craft is a specialized assistant for cra…

知识课堂之域名系统中实现动态代理

怎么在域名系统中解析动态ip&#xff0c;这一直是一个需要解决的问题&#xff0c;人们对与网络的稳定连接与灵活运用已经成为生活和工作中不可或缺的一部分&#xff0c;因此这样的问题的解决迫在眉睫。 大家对于动态ip是什么&#xff0c;应该都有所了解了&#xff0c;所谓的动…

【Go语言】| 第1课:Golang安装+环境配置+Goland下载

&#x1f60e; 作者介绍&#xff1a;我是程序员洲洲&#xff0c;一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。 &#x1f913; 同时欢迎大家关注其他专栏&#xff0c;我将分享Web前后端开发、人工智能、机器学习、深…

程序猿要失业了,一行代码没写,1小时嘴搓了一个图片分割插件(好看又好用)

如题&#xff0c;一行代码没写&#xff0c;使用 AI 编程工具实现了一个浏览器图片分割插件的开发&#xff0c;先看效果吧&#xff08; Chrome商店上架审核中~ &#xff09; 支持点击&#xff0c;拖拽&#xff0c;直接粘贴&#xff0c;还支持预览&#xff0c;次数统计&#xff0…

基于SpringBoot+Vue实现新零售商城系统

作者主页&#xff1a;编程千纸鹤 作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验&#xff0c;被多个学校常年聘为校外企业导师&#xff0c;指导学生毕业设计并参…

【湖南】《湖南省省直单位政府投资信息化项目预算编制与财政评审工作指南(试行)》湘财办〔2024〕10号-省市费用标准解读系列06

2024年4月12日&#xff0c;湖南省财政厅发布实施《湖南省省直单位政府投资信息化项目预算编制与财政评审工作指南&#xff08;试行&#xff09;》湘财办〔2024〕10号&#xff08;以下简称“10号文”&#xff09;&#xff0c;该文件旨在指导提高湖南省直单位政府投资信息化项目预…

攻防靶场(28):通过SNMP进行信息收集 JOY

目录 1.侦查 1.1 获取目标网络信息&#xff1a;IP地址 1.2 主动扫描&#xff1a;扫描IP地址块 1.3 收集受害者主机信息&#xff1a;软件 2. 数据窃取 2.1 通过备用协议窃取&#xff1a;通过未加密的非C2协议窃取 2.2 通过备用协议窃取&#xff1a;通过未加密的非C2协议窃取 3. …

DCDC-LLC谐振电路Q值与系统增益变化相反的原因

1.谐振电路的Q值定义 LLC电路的Q值定义: 它表述的是整个电路的能量存储与耗散的关系。损耗越小&#xff0c;Q值越大&#xff0c;损耗越大&#xff0c;Q值越小。 Q的另一种写法是&#xff1a; 这个公式来由&#xff0c;因为谐振频率&#xff1a; 所以&#xff1a; 所以&#…

【JAVA毕业设计】基于Vue和SpringBoot的图书馆管理系统

本文项目编号 T 044 &#xff0c;文末自助获取源码 \color{red}{T044&#xff0c;文末自助获取源码} T044&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析5.4 用例设计 六、核…

VirtualBox7.0的“网络地址转换(NAT)“ 笔记2400727

VirtualBox7.0的"网络地址转换(NAT)" 每台虚拟机的默认ip都是 10.0.2.15 虚拟机之间不能互通虚拟机能通过主机各ip访问主机(延时高,不稳定), 主机不能直接访问虚拟机, 可以通过端口转发(端口映射)虚拟机能访问宿主机的局域网的其它机器,虚拟机能访问网络, 但不能反过…

PyQt5 详细安装与配置教程及使用

文章目录 Part1&#xff1a;安装 PyQt5Part2&#xff1a;配置 PyQt5 的依赖工具 QtDesigner 和 PyUICPart3&#xff1a;使用QtDesigner设计界面Part4&#xff1a;使用PyUIC将设计好的界面转换为.py文件Part5&#xff1a;通过代码显示ui界面 Part1&#xff1a;安装 PyQt5 需要安…

10.31.2024刷华为OD C题型

文章目录 HJ26HJ27语法知识记录 10.24.2024刷华为OD C题型&#xff08;四) - HJ26 HJ27 def get_dict(str1: str):dic_0 {}for ch in str1:if ch not in dic_0:dic_0[ch] 1else:dic_0[ch] 1return dic_0temp input().split() n int(temp[0]) list [] for i in range(n):l…

基于springboot+mybatis美术馆预约管理系统设计和实现以及文档报告

基于springbootmybatis美术馆预约管理系统设计和实现以及文档报告 &#x1f345; 作者主页 网顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系方式 承接各…