电动汽车充电桩电能表与服务器的数据通信方法及装置与流程

文档序号:12279017阅读:332来源:国知局
电动汽车充电桩电能表与服务器的数据通信方法及装置与流程
本发明涉及数据通信领域,尤其涉及一种电动汽车充电桩的电能表与服务器之间的通信协议,即电动汽车充电桩的电能表与服务器之间的数据通信方法以及实现该方法的装置。
背景技术
:随着经济发展,越来越多人购买汽车,但燃烧汽油或者柴油的汽车行驶过程中由于排放出大量的二氧化碳,对环境造成影响,成为各国需要解决的问题,其中使用新能源汽车是一个有效解决汽车排放污染气体的方案。新能源汽车是使用诸如电能、太阳能的汽车,其中,最为普及的就是使用电能的电动汽车。电动汽车上需要安装电池组,通过电池组储存大量的电能以作为驱动汽车发动机的动力。然而,由于电池组储存的电能有限,需要经常充电,目前较为常见的充电方式是设置充电桩,充电桩通常是使用220V的市电供电,并且将市电转换成直流电向电池充电。通常,充电桩内设置有充电盒,并且设置有充电枪。对汽车进行充电时,将充电枪的接口与汽车上的充电接口连接,由充电桩向电动汽车的电池组输出电能。为了记录充电桩的充电情况,并且监控充电桩的工作,通常需要建立一个充电桩的管控平台,例如,设置一个服务器,每一个充电桩均可以与服务器进行无线通信,例如,充电桩内设置无线通信模块,如3G模块或者WIFI模块,通过无线通信模块与服务器进行无线通信。或者,充电桩通过有线连接的方式与服务器进行数据交互,也就是充电桩与服务器之间的通信可以是通过无线方式实现,也可以通过有线方式实现。如果充电桩上自身设置有电能表,则充电桩与服务器之间的通信数据往往包含电能表的相关数据,但是对于旧款的充电桩,充电桩上未必设置有电能表,因此需要在充电桩上加设一个能够与服务器进行通信的电能表,以便于电能表实时的向服务器传输数据,并且服务器也能够向电能表发送数据,以控制电能表的工作。但是,现有的电能表与服务器之间的数据通信没有既定的规范,导致电能表与服务器之间的数据通信即为不规范,服务器往往未能有限监控电能表的工作,且服务器也未能实时接收电能表发送的数据,影响到电能表的正常工作,也不利于充电桩的充电。技术实现要素:本发明的主要目的是提供一种让服务器有效监控充电桩的电能表工作状态的电动汽车充电桩电能表与服务器的数据通信方法。本发明的另一目的是提供一种确保服务器与充电桩电能表通信效率的电动汽车充电桩电能表与服务器的数据通信装置。为了实现上述的主要目的,本发明提供的电动汽车充电桩电能表与服务器的数据通信方法包括服务器向电能表发送开表数据;电能表接收到开表数据后,向服务器发送确认开表的数据;电能表接收到开表数据后,以第一间隔时间向服务器发送定时数据,定时数据至少包括以下的一个:至少一个电气测量点的各相电压、温度、各相电流、各相有功功率、有功总电能、无功总电能;服务器向电能表发送关表数据,电能表接收到关表数据后,向服务器发送确认关表的数据。由上述方案可见,电能表与服务器之间的通信可以让服务器向电能表发送开表、关表的数据,也就是服务器可以控制电能表的开启与关闭。并且,由于在充电过程中,电能表将实时的将定时数据发送至服务器,包括各相电压、各相电流等,服务器可以根据电能表上传的数据判断充电桩的充电状态,进而判断充电桩是否在正常的工作状态,从而有效地充电桩以及电能表进行监控。一个优选的方案是,电能表连接至服务器后,以第二间隔时间向服务器发送心跳包数据。由此可见,电能表连接至服务器之后,将持续的间隔发送心跳包数据,服务器可以根据心跳包数据判断电能表是否处于正常的通信状态,即使充电桩不再充电状态,服务器仍能够对电能表进行有效的监控。进一步的方案是,服务器向电能表发送的数据或者电能表向服务器发送的数据中,每一帧数据均依次包括:帧头、用户数据、帧校验数据以及帧结束符,其中,用户数据包括控制域数据、地址域数据以及链路用户数据。由此可见,由于服务器的下行数据结构与电能表的上行数据结构相同,并且都具备诸如链路用户数据,可以确保服务器与电能表之间使用简单的协议即可以完成通信。更进一步的方案是,链路用户数据依次包括协议标识、应用控制域数据以及至少一个数据单元块。更进一步的方案是,每一数据单元块依次包括数据单元标识以及数据单元,数据单元标识包括信息点数据以及信息类数据,信息点数据是电能表的测量点的数据,信息类的数据是所采集的参数类型的数据。可见,在链路用户数据中设置多个数据单元块,且每一个数据单元块中均包含数据单元标识以及数据单元,这样每次电能表所发送的数据都包含有多个测量点的数据,有利于服务器获取多个测量点的数据。为了实现上述的另一目的,本发明还提供的电动汽车充电桩电能表与服务器的数据通信装置包括开表数据接收模块,用于接收服务器发送的开表数据,并且向服务器发送确认开表的数据;定时数据发送模块,以第一间隔时间向服务器发送定时数据,定时数据至少包括以下的一个:至少一个电气测量点的各相电压、温度、各相电流、各相有功功率、有功总电能、无功总电能;关表数据接收模块,用于接收服务器发送的关表数据,并且向服务器发送确认关表的数据。由上述方案可见,服务器与电能表连接后,服务器可以向电能表发送开表、关表的数据,这样,服务器可以控制电能表的开启与关闭。并且,由于电能表开启后,并且在充电过程中,电能表将每间隔一段时间将定时数据发送至服务器,包括各相电压、各相电流等,服务器可以根据电能表上传的数据判断充电桩的充电状态,进而判断充电桩是否在正常的工作状态,从而有效地充电桩以及电能表进行监控。附图说明图1是本发明电动汽车充电桩电能表与服务器的数据通信方法实施例的流程图。图2是应用本发明电动汽车充电桩电能表与服务器的数据通信装置实施例的结构框图。以下结合附图及实施例对本发明作进一步说明。具体实施方式本发明的电动汽车充电桩电能表与服务器的数据通信方法是应用在电动汽车充电桩上的电能表以及后台服务器之间的数据通信。例如,电动汽车充电站内设置有多台充电桩,且每个充电桩内设置有一个电能表当然,也可以在一个充电桩内设置多个电能表。为了方便对多个电能表进行管理,需要设置一个服务器,通过服务器对多个电能表进行管理。因此,被管理的充电桩上的电能表需要与服务器进行通信,也就是进行数据交互。本实施例中,电能表可以通过无线方式与服务器进行数据交互,例如在电能表上设置无线模块,如3G模块或者WIFI模块等,电能表通过无线模块向服务器发送数据。当然,电能表也可以与服务器进行有线连接,如通过同轴电缆、光纤等连接服务器以及电能表。由于电能表与服务器之间需要进行数据交互,因此需要设置电能表与服务器之间的数据通信规则,也就是电能表与服务器之间的数据通信协议。下面,将对电能表与服务器之间的通信协议进行详细的描述。首先,需要设定电能表与服务器之间通信的数据包的结构,例如,一个数据包包括帧头、用户数据、帧校验数据以及帧结束符等多个部分,一个典型的例子是,上述多个部分依次排列组成数据包,即一个数据包的结构如表1所示。表1其中,每帧接收的字符数=用户数据长度L1+8,并且设置参数命令和控制命令来识别L1、L2,其中L1=控制域数据长度+地址域数据长度+链路用户数据长度,即协议标识长度+应用控制域数据长度+数据单元标识长度+数据单元长度+AUX长度,而L2=0。帧校验数据是去掉帧头和帧结束符其他数据之和的低8位。对一帧数据进行校验时,若上述的校验有一个失败,则舍弃此帧数据,若无差错,则此帧数据有效。不管是服务器向电能表发送的数据,还是电能表向服务器发送的数据,都遵从表1的数据格式发送。下面将详细介绍一帧数据的具体结构。首先,介绍控制域数据C,控制域数据C表示报文传输方向和所提供的传输服务类型的信息,其格式如表2所示表2其中,D15表示报文的传输方向,例如,DIR=0表示此帧报文是由服务器向电能表发出的下行报文;DIR=1表示此帧报文是由电能表向服务器发出的上行报文。D14是启动报文位PRM,其中,PRM=0表示此帧报文是电能表向服务器传输报文;PRM=1表示此帧报文是从服务器向电能表传输报文。D13是加密标志位。D12至D8是启动帧序号PSEQ,启动帧序号PSEQ用编码表示0至31,用于区别和对应传输帧,以及防止信息传输的丢失或重复。对于每一对服务器和电能表之间均有一个独立的计数器,用于记录当前启动帧序号PSEQ。服务器向同一电能表发起新的传输服务时,PSEQ将自动加1。若自行设定的时间内未收到电能表的响应报文,或接收出现差错,则服务器不改变当前启动帧序号PSEQ,重复若干次原来的传输服务。D7至D4是响应帧序号RSEQ,响应帧序号RSEQ在PRM=0时,用编码表示0至15,用于多个从动帧对应一个启动帧的传输。每一对服务器和电能表之间均有一个独立的计数器,用于记录当前响应帧序号RSEQ。当只需一帧从动帧回应启动帧的,RSEQ=0。当需用n(n≤16)帧回应的,响应帧序号RSEQ从n-1起递减计数,每回送一帧减1,直至最后一帧RSEQ=0。D3至D0是帧功能码,帧功能码定义如表3所示。表3地址域数据A是出厂唯一编码A1、测量点类型A2这两部分组成,其格式如表4所示。地址域数据格式字节数出厂唯一编码A1BIN7测量点类型A2BIN1表4其中,出厂唯一编码A1表示测量点的生产出厂时的唯一身份编码,使用BIN码。测量点类型A2表示测量点的分类,也是使用BIN码。测量点类型A2的内容如表5所示。表5下面介绍链路用户数据,链路用户数据格式如表6所示。表6可见,链路用户数据依次包括协议标识、应用控制域数据、多个数据单元块以及附加信息域数据,其中每一个数据单元块均包括一个数据单元标识以及一个数据单元。协议标识由一个字节组成,其格式如表7所示。D7D6D5-D0备用协议标识协议版本表7应用控制域数据AC由一个字节组成,其格式如表8所示。表8其中D7是时间标签有效位TpV,当TpV=0时,表示在附加信息域中无时间标签Tp,当TpV=1时,表示在附加信息域中有时间标签Tp,其中定时上报任务数据的上行报文必须有时间标签Tp。D6是请求访问位ACD,表示有无重要事件数据等待访问。D5是任务号有效位TaskIdV,当TaskIdV=0时表示在附加信息域中无任务号,当TaskIdV=1时表示在附加信息域中有任务号TaskId,其中定时上报任务数据的上行报文必须有任务号。D4至D0是应用功能码AFN,用编码表示0至31,其定义如表9所示。表9数据单元标识由信息点标识DA和信息类标识DT组成,表示信息点和信息类型,其格式如表10所示。表10其中,信息点DA表示数据采集的测量点,可以是电能表或其它可测量的用电设备。信息点DA由信息点元DA1和信息点组DA2构成。信息类DT表示所采集的数据参数名称,可以是电度、功率、电流、电压等。信息类DT由信息类元DT1和信息类组DT2构成。DT2采用二进制编码方式表示信息类组,DT1对位表示某一信息类组的1至8种信息类型,以此共同构成信息类标识Fn(n=1~248)。其格式如表11所示。表11数据单元为按数据单元标识所组织的数据,包括参数值、命令等。数据组织的顺序规则是先按Pn从小到大、再按Fn从小到大的次序,即完成一个信息点Pi的所有信息类Fn的处理后,再进行下一个Pi+1的处理。电能表在响应服务器对电能表的参数或数据请求时,或者主动向服务器上报数据时,如果电能表没有所需的某个数据项,则将上行报文中的DT的对应标志位清除。也就是说,数据单元依次包括多个信息点的数值,并且每一信息点的数值按照数据类的序号排列的。本实施例中,时间标签用于交换网络通道中,对采用同时建立多个通信服务的传输服务,进行辅助判决接收报文的时序和时效性。时间标签Tp由7个字节组成,其格式如表12所示。表12其中,数据时标用于定时上报任务数据的上行报文中,表示数据所在时间。允许发送传输延时时间是指启动帧从开始发送至电能表接收到报文的过程中,服务器所允许的传输延时时间。本实施例中,电能表的时效性判断规则是;如电能表的当前时间与Tp中的启动帧发送时标之间的时间差大于Tp中的允许传输延时时间,电能表则舍弃该报文;如该时间差不大于Tp中的允许传输延时时间,则做出响应;如Tp中的允许传输延时时间为“0”,则电能表不进行上述两项的判断。本实施例中,电能表开机后即开始发送心跳包数据,并且定时发送数据帧,心跳包数据以及定时发送的数据帧都是间隔一段时间发送一次,如每间隔1分钟发送一次。当电能表收到服务器发送的开表数据或者关表数据后,执行开表操作或者关表操作,并且回复服务器执行结果和当前正向有功总电能。本实施例中,服务器可以向电能表发送诸如开表数据、关表数据等指令,电能表需要向服务器发送响应这些数据的返回数据,并且发送心跳包数据以及定时数据,下面介绍服务器与电能表之间发送的多个数据的结构。服务器向电能表发送的开表数据以及关表数据的格式如表13所示。表13其中,信息类Fn和信息点Pn定义如表14所示。Fn名称及说明Pn组1F1校时命令P0组5F33启动定时上报实时数据任务任务号F34禁止定时上报实时数据任务任务号F41开表指令测量点号F42关表指令测量点号表14其中,电能表收到开表数据后,将向服务器实时发送返回的数据,直到收到关表数据为止,向服务器返回的数据的格式如表15所示。表15电能表在开表后,需要每间隔一段时间向服务器发送定时数据,表15所示的数据格式时电能表开表后发送的定时数据的格式,其中,信息类Fn和信息点Pn定义如表16所示,通过回复数据的内容来判断返回数据的类型。表16当然,电能表在连接到服务器后,也需要每间隔一段时间向服务器发送定时数据,这个称为全局定时数据,如每间隔1分钟向服务器发送全局定时数据,定时数据的格式如表17所示。68HL1L268H控制域数据C地址域数据A协议标识AC(AFN=12)数据单元标识1数据单元1……数据单元标识n数据单元nTpCS16H表17从表17可见,定时数据包括多个数据单元块,每一个数据单元块均包括一个数据单元标识以及一个数据单元。其中,信息类Fn和信息点Pn定义如表18所示。表18从表18可见,电能表上传的数据包括多个电气测量点的诸如三相电压、三相的电流、温度等数据,服务器可以根据这些数据判断电能表的工作状态。电能表向服务器发送的心跳包数据的报文、服务器向电能表发送的报文格式相同,其格式如表19所示。表19本实施例中,心跳包数据是用于检测服务器与电能表的连接状态。其中,应用控制域数据AC的时间标签有效位TpV为0,即信息附加域中没有时间。并且,不存在链路用户数据域。电能表发送上行报文中,其控制域数据的帧功能码为2。服务器收到心跳包后回应下行报文,其控制域数据C中的帧功能码为1。心跳包数据的发送间隔为1分钟,服务器若3个心跳间隔内没有收到心跳包数据,则认为连接已断开,然后释放此连接资源。下面通过具体的报文例子来说明服务器与电能表之间发送的数据的结构。例如,电能表向服务器发送的心跳包数据的报文可以为:68,0C,00,00,00,68,02,C0,EF,CD,AB,56,34,12,00,13,02,1F,F9,16,其详细意义如下:服务器接收到电能表发送的心跳包数据后,向电能表发送返回数据,例如发送68,0C,00,00,00,68,01,00,EF,CD,AB,56,34,12,00,13,02,1F,38,16,该数据的详细意义如下:服务器向电能表发送的开表数据可以是:68,10,00,00,00,68,01,46,EF,CD,AB,56,34,12,00,13,02,05,00,00,01,05,6A,16,其详细意义如下。电能表接收到服务器发送的开表数据后,需要发送对该开表数据的回复,例如回复的数据可以是68,1A,00,00,00,68,01,80,EF,CD,AB,56,34,12,00,13,02,AE,00,00,01,00,01,00,00,02,00,61,88,48,02,00,7E,162,其详细意义如下:服务器向电能表发送的关表数据可以是68,10,00,00,00,68,01,46,EF,CD,AB,56,34,12,00,13,02,05,00,00,02,05,6B,16,其详细意义如下:电能表接收到服务器发送的关表数据后,向服务器发送的返回数据是68,1A,00,00,00,68,01,80,EF,CD,AB,56,34,12,00,13,02,AE,00,00,01,00,01,00,00,02,00,61,88,48,02,00,7E,16,其详细意义如下:电能表向服务器发送的定时数据是每间隔1分钟发送一次,例如68,27,00,00,00,68,01,C0,EF,CD,AB,56,34,12,00,13,02,AC,00,00,01,02,61,88,48,02,00,00,00,01,03,00,04,40,97,71,20,42,09,12,A6,15,00,05,00,48,16,该数据的意义如下:服务器接收到电能表发送的定时任务数据后,发送的回复数据是68,11,00,00,00,68,00,00,EF,CD,AB,56,34,12,00,13,02,00,00,00,01,00,00,19,16,其详细意义如下:下面结合图1介绍服务器与电能表之间的通信流程。在电能表与服务器之间建立通信后,首先,电能表判断是否接收到服务器发送的开表数据,即执行步骤S1,服务器向电能表发送的开表数据的格式如上述描述的。如电能表判断接收到服务器发送的开表数据,则执行步骤S2,向服务器发送确认开表的数据,也就是发送返回数据。此时,电能表将执行开表的操作。电能表开表后,执行步骤S3,以第一间隔时间发送定时数据,定时数据的格式如上述描述的。并且,电能表还以第二间隔时间发送心跳包数据,心跳包数据的格式如上述所描述的。本实施例中,定时数据以及心跳包数据均是每一分钟发送一次,实际应用时,定时数据可以是每半分钟或者每10秒发送一次,而心跳包数据可以是每15秒或者每30秒发送一次,并且定时数据的发送间隔与心跳包数据的发送间隔可以不相同。接着,电能表执行步骤S4,判断是否接收到关表数据,服务器发送的关表数据的格式如上述所描述的。如电能表接收到关表数据,则执行步骤S5,发送确认关表的数据,也就是发送接收到关表数据的回复数据。并且,电能表将执行步骤S6,电能表将关闭,同时,充电桩也将结束充电的操作。当然,只要电能表与服务器连接上后,电能表即向服务器发送心跳包数据,并且电能表也向服务器发送定时数据,只是在没有开表前或者关表后,发送定时数据的时间间隔较长,即在电能表开表后,以较短的间隔时间发送定时数据,在电表关表后,以较长的间隔时间发送定时数据。而不管电能表是否开表或者关表,都可以以相同的间隔时间发送心跳包数据。下面结合图2介绍电动汽车充电桩电能表与服务器的通信装置,该装置是运行在充电桩电能表20上的软件程序,该装置包括开表数据接收模块21、关表数据接收模块22、定时数据发送模块23以及心跳包数据发送模块24,相应的,在服务器30上运行有开表数据发送模块31、关表数据发送模块32、定时数据接收模块33以及心跳包数据接收模块34。充电桩电能表20的开表数据接收模块用于接收服务器30所发送的开表数据,并且在接收到开表数据后向服务器发送接收到开表数据的返回数据。关表数据接收模块22用于接收服务器30所发送的关表数据,并且在接收到关表数据后向服务器发送接收到关表数据的返回数据。定时数据发送模块23用于向服务器30发送定时数据,并且定时数据包括有电能表测量点的各相电压、电流、温度等数据,以便于服务器实施监控电能表20的工作。当然,定时数据是每间隔一段时间,如一分钟发送一次。心跳包数据发送模块24用于向服务器30每间隔一段时间发送一次心跳包数据,如每间隔一分钟发送一次。服务器30的开表数据发送模块31用于向电能表发送开表数据,并且可以接收电能表返回的确认接收到开表数据的数据。关表数据发送模块32用于向电能表发送关表数据,并且可以接收电能表返回的确认接收到关表数据的数据。定时数据接收模块33用于接收电能表20发送的定时数据,而心跳包数据接收模块34用于接收电能表20所发送的心跳包数据。应用本发明的方法实现充电桩电能表与服务器之间的通信,可以让规范电能表与服务器之间的数据通信,确保服务器能够正确接收电能表的数据,也确保电能表能够识别服务器所发送的数据。同时,服务器能够实时接收电能表的数据,从而监控电能表的工作。并且,由于服务器能够向电能表发送开表数据、关表数据,也就是可以实现服务器远程控制电能表的工作,从而为远程控制充电桩的工作提供便利条件。并且,由于电能表向服务器发送的定时数据包括多个数据单元块,且每一数据单元块均包含有数据单元标识以及数据单元,数据单元块可以对应于一个电气测量点,也就是电能表每次向服务器发送的数据可以包含多个电气测量点的数据,且这些数据包括各相电压、各相电流以及温度等数据,因此,电能表可以同时对多个充电枪的充电电量进行计量,并且实时的上传多个充电枪所消耗的电量的数据,也就是服务器可以通过一个电能表所发送的数据监测多个充电枪的工作情况。当然,上述的方案只是本发明优选的实施方案,实际应用是还可以有更多的变化,例如,电能表与服务器之间的数据可以经过加密后传输,加密的规则可以预先设置,这些改变都不影响本发明的实施,也应该包括在本发明的保护范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1