集中器和采集器间数据通信规约一、集中器和采集器之间的数据帧结构如下:帧头帧标识采集器号数据域长度控制码数据域校验码结束符1字节2字节1字节1字节1字节1字节1字节第1字节:帧头:表示集中器和采集器间一帧信息的开始,定义为0x55;第2~3字节:帧标识:帧唯一标识,由命令发起者指定,从0累加,到65535回到0,回应帧保持它不变;第4字节:采集器号:代表和当前集中器通信的采集器号,例如:1号、2号等。当采集器号取0时为广播信号,表示对当前集中器下采集器发出命令。第5字节:数据域长度:说明本帧数据域的字节长度;第6字节:控制码:集中器发到采集器数据的控制类型有写数据、读数据、添加电表数据等。由8位二进制码构成,前三位是帧标志项,后五位是功能码,具体格式如下:J7J6J5J4J3J2J1J0J7=0:由集中器发出的帧;J7=1:由采集器发出的帧;J6=0:命令帧;J6=1:应答帧;J5=0:无后续帧;J5=1:有后续帧;J4~J0请求及功能应答码:00000:保留00001:写电表数据00101:心跳01001:读电表数据10000:校时命令10001:断电控制(保留)11001:添加电表数据(电表地址)11000:删除电表数据11010:获得电表清单--1.1新增00100:取定时抄结果(已删除)00110:定时抄时间设置00111:定时抄时间获取--1.2删除1.1新增的00100:取定时抄结果(因为无法区分主站是给集中器还是采集器的命令),改为01011:读采集器保存的历史数据01101:设置采集器电表应答超时01111:取采集器电表应答超时10011:取规约版本号第7字节~倒数第3字节:数据域:数据域根据数据类型的不同而不同,有电表号,抄表数据等。1电表号结构(2个字节)电表号标志电表号0x33(1字节)1字节电表号为0时表示对当前采集器下所有电表发出命令。2电表地址结构(8个字节)电表地址标志电表号电表地址(6字节)0x34(1字节)1字节A0A1A2A3A4A5电表地址由6字节12位的BCD码表示。3电量数据结构(6字节)电量数据标志标识符(1字节)电量数据(4字节)0x66(1字节)D1D2D3XXXXXX.XX标识符为1字节8位二进制数,分为D1、D2、D3三个字段(如下表所示),D1表示电能方向,D2表示有功无功,D3是峰、谷、尖、平的标志:D1D2D3XXXXXXXXD1:00正向01反向D2:00无功01有功D3:0000总值0001尖峰值0010峰值0011平值0100谷值电量数据由4个字节8位BCD码表示,小数点前6位,小数点后两位,单位有功Kwh(千瓦时),无功Kvarh(千乏时)。4功率最大需量数据结构(5字节)功率数据标志标识符(1字节)功率数据(3字节)0x67(1字节)D1D2D3XX.XXXXD1、D2、D3定义同上,其中功率数据由3字节6位BCD码表示,单位有功Kw(千瓦),无功Kvar(千乏)。5上月末电量数据结构(6字节)电量数据标志标识符(1字节)电量数据(4字节)0x35(1字节)D1D2D3XXXXXX.XX6上月末功率最大需量数据结构(5字节)功率数据标志标识符(1字节)功率数据(3字节)0x36(1字节)D1D2D3XX.XXXX7电压、电流数据结构(4个字节)电压电流数据标志标识符(1字节)电压电流数据(2字节)0x68(1字节)E1E2电压XXX(V)/电流XX.XX(A)标识符为1个字节两个字段:E1:0001电压0010电流E2:0001A相0010B相0011C相电压电流均为2字节,由BCD码表示。8时间结构(8个字节):时间标志YYYY(年)MM(月)DD(日)HH(时)mm(分)SS(秒)0x40(1字节)2字节1字节1字节1字节1字节1字节时间标志定义:0x40抄表时间0x44校时时间0x45电表时间(读)年月日时分秒均由BCD码表示。9电表运行状态字(2字节)状态字标志内容(1字节)0x88(1字节)0Z6Z5Z40Z2Z1Z0电表运行状态字为1字节8位二进制码:Z0:抄表:自动(0)/手动(1)Z1:电池电压:正常(0)/欠压(1)Z2:预留Z4:有功电能方向:正向(0)/反向(1)Z5:无功电能方向:正向(0)/反向(1)Z6:预留10费率时段号及其起始时间(5字节)标志时段号费率号起始时间0x98(1字节)1字节1字节H1h1m1m1h1h1m1m1为每段费率开始时间,2字节4位BCD码表示。11费率总数及时段总数(3字节)标志时段总数费率总数0x99(1字节)1字节1字节其中时段总数≤10,费率总数≤14。12应答信息(2字节)应答信息标志信息内容0x77(1字节)1字节应答信息内容定义如下:000成功001未知错误002目标设备超时无应答003短路(保留)004断路(保留)005无效帧006系统忙请稍后重试007资源不足008收到处理中--1.1新增13定时抄历史电量数据结构V2(12字节)历史电量数据标志标识符(1字节)年月日时分电量数据(4字节)0x50(1字节)D1D2D32字节1字节1字节1字节1字节XXXXXX.XXD1、D2、D3定义同上,年YYYY月MM日DD时HH分mm由BCD码表示。年月日时分全零表示取设备中保存的该电表的所有历史数据,年月日时全零,分非零,分(BCD码)表示取最后的几个历史数据。14定时抄历史功率最大需量数据结构V2(11字节)历史功率数据标志标识符(1字节)年月日时分功率数据(3字节)0x51(1字节)D1D2D32字节1字节1字节1字节1字节XX.XXXXD1、D2、D3定义同上,年YYYY月MM日DD时HH分mm由BCD码表示。年月日时分全零表示取设备中保存的该电表的所有历史数据,年月日时全零,分非零,分(BCD码)表示取最后的几个历史数据。15定时抄的时间(11字节)定时抄的时间年月日时分间隔秒数(4字节)0x52(1字节)2字节1字节1字节1字节1字节XXXXXXXX(二进制)年YYYY月MM日DD时HH分mm由BCD码表示。16任意电表(1字节)任意电表0x54(1字节)(全9电表地址999999999999)--1.2新增17电表地址结构V2(10字节)电表地址标志电表号电表地址(6字节)电表类型(2字节)0x55(1字节)1字节A0A1A2A3A4A5Z15Z14-Z12Z11-Z8Z7~Z5Z4~Z0电表地址由6字节12位的BCD码表示。电表类型为16位二进制数据,字节序按照LittleEndian(低字节在前,即x86顺序)Z0-Z4:额外超时倍数0-31(Z4为高位),用于采用低速载波抄表模块间接连接到采集器485口的。电表,0表示正常,1表示2倍时间,2表示3倍时间,15表示16倍时间,等等。采集器默认Z5-Z7:实际表地址长度(0:由0xAA标识,1-6:长度,7:无效)Z8-Z11:协议,0:DLT645-1997,1:易格特,2:DLT645-2007,其他:保留Z14-Z12:保留Z15:电表不支持645数据集读表,0:支持,1:不支持。用于处理某些单费率电表不支持数据集读的情况。18采集器/电表应答超时(2字节)采集器/电表应答超时标志秒数(1字节)0x56(1字节)XX(二进制)19支持的规约版本号(3字节)规约版本号标志主版本(1字节)次版本(1字节)0x57(1字节)XX(二进制)YY(二进制)20电表常数(5字节)电表常数标志常数类型(1字节)常数(3字节)0x81(1字节)XNNNNNN常数类型为0表示电表常数(无功),常数类型为1表示电表常数(有功)。21电表号/用户号/设备码(8字节)标志类型(1字节)地址(6字节)0x82(1字节)XNNNNNNNNNNNN类型为0表示电表号,类型为1表示用户号,类型为2表示设备码。22电表起始读数(6字节)起始读数标志读数类型(1字节)读数(4字节)0x83(1字节)XNNNNNN.N读数类型为0表示无功电能起始读数,读数类型为1表示有功电能起始读数。23密码权限及密码(5字节)标志权限(1字节)密码(3字节)0x84(1字节)NNNNNNNN倒数第2字节:校验码:从帧起始符开始到校验码之前的所有各字节二进制算术和,不计超过256的溢出值;最后1字节:结束符:表示集中器和采集器间一帧信息的结束,定义为0x56;二、附加说明:1、定时抄功能放到主站完成,主站定时器到时后自动往集中器发送命令帧;如要取消定时抄,可随时在主站操作完成。2、集中器定时在每天的0点抄录一遍电量功率数据(一般为正向有功的尖、峰、谷、平、总值),主站如有需要,可发送取历史数据命令取得。3、根据现场经验,增加抄上月末数据功能。4、允许在一个帧内带一种数据的多个类型,例如电量的正向总、尖、峰、谷、平值,即允许在一个帧内出现多个0x66。5、增加电表号。电表地址只用于初始写入或修改地址时使用,其他时间主站和集中器通过电表号对电表进行操作,采集器根据电表号找对应的电表地址。6、在费率前增加费率时段,表示实行此费率的时间段;7、电表地址传输时低位在前,电表数据及年份等多字节数据发送时也是低位在前发送。8、主站删除设备时要传送的信息分为:删除采集器和删除电表两种:删除采集器数据域中带采集器地址标识0x23……删除电表数据域中带采集器号标识和电表地址标识0x22……0x34以此对两者加以区分。9、费率号1、2、3、4对应尖、峰、平、谷四个状态。10、要修改费率设置时,若时段总数不变,则直接修改,覆盖原设置;若时段总数改变,则先设置好时段总数,然后再设置相应时段费率号,起始时间。11、增加系统重启功能,系统开放端口8001:集中器发送16进制整数0x12345678,采集器正确收到后回复0x87654321,然后重启系统。12、由于载波模块的引入,电表超时时间需要对各表调整,不能一刀切,应答帧(0x77)应答码为008(处理中)时后面可能带有要求的等待时间(0x56块)13、关于最大电表数取电表清单应答可能分帧14、关于电表地址结构V2增添/删除电表时直接使用即可,取电表清单命令帧中填入一块电表地址结构V2数据表明支持电表地址结构V2,此时采集器应答可能超过最大帧长,要考虑后续帧(目前最大支持31块电表,10*31=310)-1.4新增15、采集器最大表数增加为64