智能电表的长数据传输方法

文档序号:7820457阅读:562来源:国知局
智能电表的长数据传输方法
【专利摘要】本发明涉及智能电表的长数据传输方法。发明提供智能电表的长数据传输方法,提高通信效率。方案:1、客户端向电表发请求,携带一次流传输能接收的最大数据块个数W;2、电表拆解回复数据成多个数据块,比较其与W的大小,若大于W,转步骤3;若小于或等于W,转步骤6;3、电表传输W个数据块至客户端,在本次流传输的最后一个数据块中携带STR=0;4、客户端回复确认帧,令BN加1、BNA加W后作为新参数携带;5、电表收到确认帧,判断余下未发数据块个数与W的大小,若大于W,转步骤3;若小于或等于W,转步骤6;6、电表将各数据块传输至客户端,在传输最后一个数据块时携带LB=1、STR=0。发明用于智能电表通信领域。
【专利说明】智能电表的长数据传输方法

【技术领域】
[0001]本发明涉及一种智能电表的长数据传输方法,主要适用于智能电表通信【技术领域】。

【背景技术】
[0002]随着智能电网的发展,电能表的功能越来越丰富和强大,实际应用中,通常要从智能电表中读取负荷曲线、事件日志和设置TOU(Time Of Use)方案等,此时,不仅要求通信速率高,还对智能电表要求有长数据传输机制。由于智能电表通信发送和接收缓存区容量有限,当电表与客户端之间通信传输的数据过长时,需要将数据分块发送,但目前国际通信标准IEC62056系列中有对长数据有分块传输的定义,但该方法并不支持断点续传,任何一个数据块丢失就导致长数据的全部丢失,发送方必须重新从第一个数据库块开始传输;而且每个数据块的传输都需要接收方的确认,通信效率较低。


【发明内容】

[0003]本发明要解决的技术问题是:针对上述存在的问题提供一种智能电表的长数据传输方法,发送方可采用流的形式将长数据分块发送,支持对多个数据块的一次性确认,以提高通信效率。
[0004]本发明所采用的技术方案是:智能电表的长数据传输方法,其特征在于:传输过程中携带以下参数,
[0005]LB,分别以I和O来表示当前传输是否为本次长数据传输的最后一个数据块;
[0006]STR,分别以O和I来表示本次流传输是否结束;
[0007]W,通信正常情况下,表示一次流传输能接收的最大数据块个数;通信异常情况下,表示接收方希望一次流传输接收的数据块个数;
[0008]BN,数据块编号,从I开始;
[0009]BNA,通信正常情况下,接收方回复的BNA为上一次正确接收的数据块编号;通信异常情况下,接收方回复的BNA为丢失的第一个数据块编号减I ;
[0010]S1、客户端向电表发送抄收请求,同时携带参数LB = USTR = O,BN = UBNA = O和一次流传输其所能接收的最大数据块个数W ;
[0011]S2、电表接收到所述抄收请求和参数后,将回复数据拆解成多个数据块,并判断拆解后数据块的个数与W的大小,若拆解后数据块的个数大于W,执行步骤S3 ;若拆解后数据块的个数小于或等于W,执行步骤S6 ;
[0012]S3、电表采用流传输的方式依次连续传输W个数据块至客户端,并在本次流传输的最后一个数据块中携带STR = O告知客户端本次流传输结束;
[0013]S4、客户端回复确认帧,并令BN加1、BNA加W后作为新的参数携带于所述确认帧中;
[0014]S5、电表接收到所述确认帧和参数后,判断余下未发数据块个数与W的大小,若余下未发数据块个数大于W,执行步骤S3 ;若余下未发数据块个数小于或等于W,执行步骤S6 ;
[0015]S6、电表米用流传输的方式将各数据块依次连续传输至客户端,并在传输最后一个数据块时携带LB = 1、STR = O告知客户端本次长数据传输结束,至此,本次长数据传输结束。
[0016]传输过程中,若客户端未收到编号为X的数据块,贝lJ客户端向电表发送确认帧,并携带参数LB = USTR = O, W= 1、BNA = X-1,要求电表重新发送编号为X的数据块。
[0017]传输过程中,若客户端未收到编号为X — X+n的连续n+1个数据块,则客户端向电表发送确认帧,并携带参数LB = 1、STR = 0、W = n+1、BNA = X_l,要求电表重新发送编号为X — X+n的连续n+1个数据块;所述编号为X — X+n的连续n+1个数据块位于同一次流传输中。
[0018]智能电表的长数据传输方法,其特征在于:传输过程中携带以下参数,
[0019]LB,分别以I和O来表示当前传输是否为本次长数据传输的最后一个数据块;
[0020]STR,分别以O和I来表示本次流传输是否结束;
[0021]W,通信正常情况下,表示一次流传输能接收的最大数据块个数;通信异常情况下,表示接收方希望一次流传输接收的数据块个数;
[0022]BN,数据块编号,从I开始;
[0023]BNA,通信正常情况下,接收方回复的BNA为上一次正确接收的数据块编号;通信异常情况下,接收方回复的BNA为丢失的第一个数据块编号减I ;
[0024]S11、客户端将其要发送的数据拆解成多个数据块,并在第一次发送请求时只发送一个数据块,同时携带参数LB = USTR = O, W = 1、BN= 1、BNA = 0;
[0025]S12、电表接收到客户端的请求和参数后,应答客户端,并携带参数LB = 1、STR =O, BN= UBNA = I和一次流传输其所能接收的最大数据块个数W,告知客户端其对应的电表支持流传输;
[0026]S13、客户端判断余下未发数据块个数与W的大小,若余下未发数据块个数大于W,执行步骤S14 ;若余下未发数据块个数小于或等于W,执行步骤S16 ;
[0027]S14、客户端采用流传输的方式依次连续传输W个数据块至电表,传输过程中所携带参数LB = 0,并在本次流传输的最后一个数据块中携带STR = O告知电表本次流传输结束;
[0028]S15、电表回复确认帧,并令BN加1、BNA加W后作为新的参数携带于所述确认帧中,然后执行步骤S13 ;
[0029]S16、客户端米用流传输的方式将各数据块依次连续传输至电表,并在传输最后一个数据块时携带参数LB = 1、STR = O告知电表本次通信中客户端发送数据结束;
[0030]S17、电表作出应答,并携带参数BNA,其数值为拆解成的多个数据块的个数,告知客户端所有数据块全部正确接收。
[0031]传输过程中,若电表未收到编号为X的数据块,则电表向客户端发送确认帧,并携带参数LB = 1、STR = 0、W = 1、BNA = X_l,要求客户端重新发送编号为X的数据块。
[0032]传输过程中,若电表未收到编号为X — X+n的连续n+1个数据块,则电表向客户端发送确认帧,并携带参数LB = USTR = O, W = n+1、BNA = X_l,要求客户端重新发送编号为X — X+n的连续n+1个数据块;所述编号为X — X+n的连续n+1个数据块位于同一次流传输中。
[0033]本发明的有益效果是:本发明针对智能电表的发送、接收缓冲区容量有限等特点,提出一种基于流形式的长数据传输方法,并在每一个传输过程中均携带五个参数(包括LB,分别以I和O来表示当前传输是否为本次长数据传输的最后一个数据块;STR,分别以O和I来表示本次流传输是否结束;w,通信正常情况下,表示一次流传输能接收的最大数据块个数;通信异常情况下,表示接收方希望一次流传输接收的数据块个数;BN,数据块编号,从I开始;BNA,通信正常情况下,接收方回复的BNA为上一次正确接收的数据块编号;通信异常情况下,接收方回复的BNA为丢失的第一个数据块编号减I),既能够实现断点续传,又能够支持接收方对多个数据块的一次性确认,较之现有的长数据分块传输方法,本方法在通信效率及通信可靠性方面得到了大幅度的提高。此外,本发明也为智能电网环境下对智能电表大数据采集的需求提供了技术基础。

【专利附图】

【附图说明】
[0034]图1是本发明客户端抄收电表时电表回复数据分块传输的正常流程图。
[0035]图2是本发明客户端抄收电表时电表回复数据分块传输的异常流程图。
[0036]图3是本发明客户端设置参数到电表时所发数据分块传输的流程图。

【具体实施方式】
[0037]智能电表通信过程中有两种情况需要传输长数据,第一种是客户端从电表中读取某些数据如负荷曲线、事件日志等时,智能电表回复的数据需采用长数据传输方法拆解;第二种则是客户端设置参数如TOU方案到智能电表时,客户端发送的数据需采用长数据传输方法拆解。
[0038]本发明传输方法中,在每一个传输过程中均携带五个参数:
[0039]LB,取I时,表示当前传输是否为本次长数据传输的最后一个数据块;取O时,表示当前传输不是本次长数据传输的最后一个数据块;
[0040]STR,取I时,表示本次流传输未结束;取O时,表示本次流传输结束;
[0041]W,通信正常情况下,表示一次流传输能接收的最大数据块个数;通信异常情况下,表示接收方希望一次流传输接收的数据块个数;
[0042]BN,发送方所发数据块的编号,从I开始;
[0043]BNA,通信正常情况下,接收方回复的BNA为上一次正确接收的数据块编号;通信异常情况下,接收方回复的BNA为丢失的第一个数据块编号减I。
[0044]当客户端抄收智能电表,电表回复的数据过长,传输过程包括:
[0045]S1、客户端向电表发送抄收请求,同时携带参数LB = USTR = O,BN = UBNA = O和一次流传输其所能接收的最大数据块个数W ;
[0046]S2、电表接收到所述抄收请求和参数后,将回复数据拆解成多个数据块,并判断拆解后数据块的个数与W的大小,若拆解后数据块的个数大于W,执行步骤S3 ;若拆解后数据块的个数小于或等于W,执行步骤S6 ;
[0047]S3、电表采用流传输的方式依次连续传输W个数据块至客户端,并在本次流传输的最后一个数据块中携带STR = O告知客户端本次流传输结束;
[0048]S4、客户端回复确认帧,并令BN加1、BNA加W后作为新的参数携带于所述确认帧中;
[0049]S5、电表接收到所述确认帧和参数后,判断余下未发数据块个数与W的大小,若余下未发数据块个数大于W,执行步骤S3 ;若余下未发数据块个数小于或等于W,执行步骤S6 ;
[0050]S6、电表米用流传输的方式将各数据块依次连续传输至客户端,并在传输最后一个数据块时携带LB = 1、STR = O告知客户端本次长数据传输结束,至此,本次长数据传输结束。
[0051]传输过程中,若客户端未收到编号为X的数据块,贝lJ客户端向电表发送确认帧,并携带参数LB = USTR = O, W= 1、BNA = X-1,要求电表重新发送编号为X的数据块。
[0052]传输过程中,若客户端未收到编号为X — X+n的连续n+1个数据块,则客户端向电表发送确认帧,并携带参数LB = 1、STR = 0、W = n+1、BNA = X_l,要求电表重新发送编号为X — X+n的连续n+1个数据块;所述编号为X — X+n的连续n+1个数据块位于同一次流传输中。
[0053]如图1所示,本实施例智能电表回复的数据需要拆解成5个数据块传输,一次流传输其所能接收的最大数据块个数为3个,具体传输过程为:
[0054]客户端向电表发送抄收请求,同时携带参数LB = 1、STR = 0、W = 3、BN = UBNA=0,告知电表其一次流传输其所能接收的最大数据块个数为3个;
[0055]电表接收到所述抄收请求和参数后,将回复数据拆解成5个数据块,并采用流传输的方式依次连续传输3个数据块(编号分别为1、2、3)至客户端,并在本次流传输的最后一个数据块中携带STR = O告知客户端本次流传输结束;
[0056]客户端回复确认帧,并携带参数LB = USTR = O,W = 3,BN = 2,BNA = 3,以BNA=3告知客户端编号为3及之前的数据块均正确接收,即编号1、2、3的数据块均正确接收;
[0057]电表采用流传输的方式将余下的两个数据块依次连续传输至客户端,并在传输最后一个数据块时携带LB = 1、STR = O告知客户端本次长数据传输结束,至此,本次长数据传输结束。
[0058]如图2所示,智能电表在发送第I个和第3个数据块时出现通信异常,客户端没有收到这两个数据块,客户端会在确认帧中用BNA = O表示编号为O以后的数据块没有接收到,用W = I表示编号为O以后只有I个数据块没有正确接收,智能电表重新发送编号为I的数据块;客户端再次确认请求中用BNA = 2表示编号为2以后的数据块没有接收到,用W=3表示客户端一次流传输能接收的最大数据块个数为3,智能电表将后续的3个数据块(编号分别为3、4、5)传输完,并在传输最后一个数据块时携带LB = 1、STR = O告知客户端本次长数据传输结束,至此,本次长数据传输结束。
[0059]当客户端设置参数到智能电表,设置参数数据过长时,传输过程包括:
[0060]S11、客户端将其要发送的数据拆解成多个数据块,并在第一次发送请求时只发送一个数据块,同时携带参数LB = USTR = O, W = 1、BN= 1、BNA = 0;
[0061]S12、电表接收到客户端的请求和参数后,应答客户端,并携带参数LB = 1、STR =
O,BN= UBNA = I和一次流传输其所能接收的最大数据块个数W,告知客户端其对应的电表支持流传输;
[0062]S13、客户端判断余下未发数据块个数与W的大小,若余下未发数据块个数大于W,执行步骤S14 ;若余下未发数据块个数小于或等于W,执行步骤S16 ;
[0063]S14、客户端采用流传输的方式依次连续传输W个数据块至电表,传输过程中所携带参数LB = 0,并在本次流传输的最后一个数据块中携带STR = O告知电表本次流传输结束;
[0064]S15、电表回复确认帧,并令BN加1、BNA加W后作为新的参数携带于所述确认帧中,然后执行步骤S13 ;
[0065]S16、客户端米用流传输的方式将各数据块依次连续传输至电表,并在传输最后一个数据块时携带参数LB = 1、STR = O告知电表本次通信中客户端发送数据结束;
[0066]S17、电表作出应答,并携带参数BNA,其数值为拆解成的多个数据块的个数,告知客户端所有数据块全部正确接收。
[0067]传输过程中,若电表未收到编号为X的数据块,则电表向客户端发送确认帧,并携带参数LB = 1、STR = 0、W = 1、BNA = X_l,要求客户端重新发送编号为X的数据块。
[0068]传输过程中,若电表未收到编号为X — X+n的连续n+1个数据块,则电表向客户端发送确认帧,并携带参数LB = USTR = O, W = n+1、BNA = X_l,要求客户端重新发送编号为X — X+n的连续n+1个数据块;所述编号为X — X+n的连续n+1个数据块位于同一次流传输中。
[0069]如图3所示,本实施例客户端设置参数的数据需要拆解成5个数据块传输,一次流传输电表所能接收的最大数据块个数为3个,具体传输过程为:
[0070]由于不知道电表是否支持流形式的块传输,客户端第一次请求时只发送一个数据块,同时携带参数 LB = USTR = 0、W = 1、BN = 1、BNA = O ;
[0071]电表接收到客户端的请求和参数后,应答客户端,并携带参数LB = 1、STR = 0、W=3,BN = UBNA = 1,告知客户端其对应的电表支持流传输和一次流传输其所能接收的最大数据块个数为3个;
[0072]客户端采用流传输的方式依次连续传输3个数据块(编号分别为2、3、4)至电表,传输过程中所携带参数LB = 0,并在本次流传输的最后一个数据块中携带STR = O告知电表本次流传输结束;
[0073]电表回复确认帧,并携带参数LB = USTR = O,W = 3,BN = 2,BNA = 4,以BNA =4告知客户端编号为4及之前的数据块均正确接收,即编号为1、2、3、4的数据块均正常接收;
[0074]客户端采用流传输的方式将余下的一个数据块传输至电表,并携带参数LB = 1、STR = O告知电表本次通信中客户端发送数据结束;
[0075]电表作出应答,并携带参数LB = USTR = O,W = UBN = 3,BNA = 5,告知客户端所有数据块全部正确接收。
【权利要求】
1.一种智能电表的长数据传输方法,其特征在于:传输过程中携带以下参数, 18,分别以1和0来表示当前传输是否为本次长数据传输的最后一个数据块; 311?,分别以0和1来表示本次流传输是否结束; I,通信正常情况下,表示一次流传输能接收的最大数据块个数;通信异常情况下,表示接收方希望一次流传输接收的数据块个数; 81数据块编号,从1开始; 8嫩,通信正常情况下,接收方回复的8嫩为上一次正确接收的数据块编号;通信异常情况下,接收方回复的8嫩为丢失的第一个数据块编号减1 ; 31、客户端向电表发送抄收请求,同时携带参数[8= 1、8X1? = 0、刚=1、8嫩=0和一次流传输其所能接收的最大数据块个数I ; 32、电表接收到所述抄收请求和参数后,将回复数据拆解成多个数据块,并判断拆解后数据块的个数与I的大小,若拆解后数据块的个数大于I,执行步骤33 ;若拆解后数据块的个数小于或等于I,执行步骤36 ; 33、电表采用流传输的方式依次连续传输I个数据块至客户端,并在本次流传输的最后一个数据块中携带311? = 0告知客户端本次流传输结束; 34、客户端回复确认帧,并令刚加1、8嫩加切后作为新的参数携带于所述确认帧中; 35、电表接收到所述确认帧和参数后,判断余下未发数据块个数与I的大小,若余下未发数据块个数大于I,执行步骤33 ;若余下未发数据块个数小于或等于I,执行步骤36 ; 36、电表采用流传输的方式将各数据块依次连续传输至客户端,并在传输最后一个数据块时携带⑶=1、8X1? = 0告知客户端本次通信传输结束,至此,本次长数据传输结束。
2.根据权利要求1所述的智能电表的长数据传输方法,其特征在于:传输过程中,若客户端未收到编号为X的数据块,则客户端向电表发送确认帧,并携带参数⑶=1,8X1? = 0、I = 1、8嫩=乂-1,要求电表重新发送编号为X的数据块。
3.根据权利要求1所述的智能电表的长数据传输方法,其特征在于:传输过程中,若客户端未收到编号为X — 乂—11的连续11+1个数据块,则客户端向电表发送确认帧,并携带参数18 = 1、8X1? = 0,1 = 11+1、8嫩=乂-1,要求电表重新发送编号为X — ^+11的连续11+1个数据块;所述编号为X — 的连续=+1个数据块位于同一次流传输中。
4.一种智能电表的长数据传输方法,其特征在于:传输过程中携带以下参数, 18,分别以1和0来表示当前传输是否为本次长数据传输的最后一个数据块; 311?,分别以0和1来表示本次流传输是否结束; I,通信正常情况下,表示一次流传输能接收的最大数据块个数;通信异常情况下,表示接收方希望一次流传输接收的数据块个数; 81数据块编号,从1开始; 8嫩,通信正常情况下,接收方回复的8嫩为上一次正确接收的数据块编号;通信异常情况下,接收方回复的8嫩为丢失的第一个数据块编号减1 ; 311、客户端将其要发送的数据拆解成多个数据块,并在第一次发送请求时只发送一个数据块,同时携带参数[8 = 1,8X1? = 0,1 = 1、刚== 0 ; 312、电表接收到客户端的请求和参数后,应答客户端,并携带参数⑶=1,8X1?= 0、8~=1、8嫩=1和一次流传输其所能接收的最大数据块个数I,告知客户端其对应的电表支持流传输; 313、客户端判断余下未发数据块个数与I的大小,若余下未发数据块个数大于I,执行步骤314 ;若余下未发数据块个数小于或等于I,执行步骤316 ; 314、客户端采用流传输的方式依次连续传输I个数据块至电表,传输过程中所携带参数18 = 0,并在本次流传输的最后一个数据块中携带311? = 0告知电表本次流传输结束; 315、电表回复确认帧,并令刚加1、8嫩加切后作为新的参数携带于所述确认帧中,然后执彳丁步骤313 ; 316、客户端采用流传输的方式将各数据块依次连续传输至电表,并在传输最后一个数据块时携带参数⑶=1、311? = 0告知电表本次通信中客户端发送数据结束; 517、电表作出应答,并携带参数8嫩,其数值为拆解成的多个数据块的个数,告知客户端所有数据块全部正确接收。
5.根据权利要求4所述的智能电表的长数据传输方法,其特征在于:传输过程中,若电表未收到编号为X的数据块,则电表向客户端发送确认帧,并携带参数18 = 1、311? = 0、I=1、8嫩=乂-1,要求客户端重新发送编号为X的数据块。
6.根据权利要求4所述的智能电表的长数据传输方法,其特征在于:传输过程中,若电表未收到编号为X — 乂—11的连续11+1个数据块,则电表向客户端发送确认帧,并携带参数18=1,8X1? = 0、1 == 乂-1,要求客户端重新发送编号为X — ^+11的连续11+1个数据块;所述编号为X — 的连续=+1个数据块位于同一次流传输中。
【文档编号】H04L1/16GK104486031SQ201410675061
【公开日】2015年4月1日 申请日期:2014年11月21日 优先权日:2014年11月21日
【发明者】周良璋, 张向程, 姚青, 刘高峰, 刘鹏, 周剑波, 朱程鹏, 范有, 罗彬 , 丁佐明, 鲍红伟 申请人:杭州海兴电力科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1